微信小程序实现移动端滑动分页效果(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 相关文章推荐
js中几种去掉字串左右空格的方法
Dec 25 Javascript
jquery一句话全选/取消全选
Mar 01 Javascript
jquery对表单操作2
Apr 06 Javascript
常见的原始JS选择器使用方法总结
Apr 09 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
JQuery和PHP结合实现动态进度条上传显示
Nov 23 Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
Vue实现的父组件向子组件传值功能示例
Jan 19 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
Apr 02 Javascript
vue移动端城市三级联动组件使用详解
Jul 26 Javascript
vscode中eslint插件的配置(prettier配置无效)
Sep 10 Javascript
详解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
PHP的引用详解
2015/02/22 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
Python实现的HMacMD5加密算法示例
2018/04/03 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Python如何读写字节数据
2020/08/05 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
.NET概念性的面试题
2012/02/29 面试题
班组长安全生产职责
2013/12/16 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
关于迟到的检讨书
2014/01/26 职场文书
高考备战决心书
2014/03/11 职场文书