微信小程序实现移动端滑动分页效果(ajax)


Posted in Javascript onJune 13, 2017

一般在PC上我们要分页都是通过上一页和下一页来实现的,手机通过当下滑到一定程度的时候自动加载下一页面。

实现思路:首先加载部分数据,当下滑到某个元素可见的时候,如果还有数据,则新发送请求,然后追加在当前页面。

/*
*<div class='topicBox' id='listBox'>
*</div>
*/
 

//判断元素是否进入可视区域 
function see(objLiLast) {
 //浏览器可视区域的高度 
 var see = document.documentElement.clientHeight;
 //滚动条滑动的距离 
 var winScroll = $(this).scrollTop();
 //距离浏览器顶部的 
 var lastLisee = $(objLiLast).offset().top;
 return lastLisee < (see + winScroll) ? true : false;
}
//预设页码为当前第一页
var page = 1;
//获得总页码
var pageTotal = parseInt($('#allpage').val());
//是否请求出AJAX的“开关”; 
var onOff = true;
$(window).scroll(function () {
//拖动滚条时,是否发送AJAX的一个“开关” 
$('.topicBox').each(function () {
//引用最后一个div 
var lastLi = $('.topicBox:last');
//调用是否进入可视区域函数 
var isSee = see(lastLi);
if (isSee && onOff && page < pageTotal) {//最底部元素可见,开关开启而且还有下拉
//$('#loadNext').show(); //显示正在加载图标
onOff = false;
$.ajax({
url: '/GetPageData',
type: 'GET',
dataType: 'json',
data: {
page: page+1
},
asyc: false,
success: function (result) {
if (result.status == 'success') {
var data = result.result;
for (var i = 0; i < data.length; i++) {
//to do coding ...
};
}
//$('#loadNext').hide(); //隐藏正在加载
onOff = true;
page ++;
}
});

}
});
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
TFDN图片播放器 不错自动播放
Oct 03 Javascript
Extjs学习笔记之七 布局
Jan 08 Javascript
javascript 上下banner替换具体实现
Nov 14 Javascript
js实现点击添加一个input节点
Dec 05 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
Apr 07 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
Jul 12 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
如何解决webpack-dev-server代理常切换问题
Jan 09 Javascript
简单了解node npm cnpm的具体使用方法
Feb 27 Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 Javascript
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 Javascript
详解Vue2的diff算法
Jan 06 Vue.js
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 #Javascript
微信小程序动态显示项目倒计时效果
Jun 13 #Javascript
深究AngularJS之ui-router详解
Jun 13 #Javascript
微信小程序自定义导航隐藏和显示功能
Jun 13 #Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
Jun 13 #Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 #Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
Jun 13 #Javascript
You might like
多文件上载系统完整版
2006/10/09 PHP
PHP学习资料汇总与网址
2007/03/16 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
Vue路由前后端设计总结
2019/08/06 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
Python列表切片操作实例总结
2019/02/19 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
HTML5 Canvas的性能提高技巧经验分享
2013/07/02 HTML / CSS
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
SQL Server数据库笔试题和答案
2016/02/04 面试题
后勤采购员岗位职责
2013/12/19 职场文书
生物学专业求职信
2014/07/23 职场文书
合作协议书模板2014
2014/09/26 职场文书
学校工会工作总结2015
2015/05/19 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers