微信小程序实现移动端滑动分页效果(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调试技巧解决样式问题的步骤分享
Mar 15 Javascript
jQuery的DOM操作之删除节点示例
Jan 03 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
Sep 25 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
Jun 07 Javascript
Javascript操作表单实例讲解(下)
Jun 20 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
Aug 03 Javascript
适用于手机端的jQuery图片滑块动画
Dec 09 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
VueJs 将接口用webpack代理到本地的方法
Nov 27 Javascript
vue-cli3.0配置及使用注意事项详解
Sep 05 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
php的memcached客户端memcached
2011/06/14 PHP
第五章 php数组操作
2011/12/30 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python重试装饰器示例
2014/02/11 Python
Python异常处理总结
2014/08/15 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
Django自带的用户验证系统实现
2020/12/18 Python
ASP.NET Core中的配置详解
2021/02/05 Python
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
初二生物教学反思
2014/02/03 职场文书
广告创意求职信
2014/03/17 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python