一般在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 ++;}});}});});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。
新闻热点
疑难解答