微信小程序实现移动端滑动分页效果(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 相关文章推荐
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
May 14 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
Sep 16 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
Apr 21 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
解决vue打包报错Unexpected token: punc的问题
Oct 24 Javascript
VUE实现吸底按钮
Mar 04 Vue.js
JavaScript中关于预编译、作用域链和闭包的理解
Mar 31 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
iview实现图片上传功能
2020/06/29 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
python编程线性回归代码示例
2017/12/07 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
shell程序中如何注释
2012/01/28 面试题
离婚协议书标准格式
2014/10/04 职场文书
优秀教师申报材料
2014/12/16 职场文书