微信小程序实现移动端滑动分页效果(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 相关文章推荐
firefo xml 读写实现js代码
Jun 11 Javascript
jQuery中选择器小问题(新人难免遇到)
Mar 31 Javascript
百度地图api如何使用
Aug 03 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
Jun 03 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
JS变量及其作用域
Mar 29 Javascript
JS判断时间段的实现代码
Jun 14 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
AngularJS动态添加数据并删除的实例
Feb 27 Javascript
详解Angular5 路由传参的3种方法
Apr 28 Javascript
vue 注册组件的使用详解
May 05 Javascript
JSON基本语法及与JavaScript的异同实例分析
Jan 04 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之第八天
2006/10/09 PHP
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
PHP 高级课程笔记 面向对象
2009/06/21 PHP
php实现无限级分类
2014/12/24 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
JavaScript QueryString解析类代码
2010/01/17 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
Python I/O与进程的详细讲解
2019/03/08 Python
Django--权限Permissions的例子
2019/08/28 Python
python模拟实现斗地主发牌
2020/01/07 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
C语言中break与continue的区别
2012/07/12 面试题
水电工岗位职责
2014/02/12 职场文书
司法局火灾防控方案
2014/06/05 职场文书
保密工作承诺书
2014/08/29 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
JS ES6异步解决方案
2021/04/29 Javascript
带你学习MySQL执行计划
2021/05/31 MySQL
如何解决php-fpm启动不了问题
2021/11/17 PHP