1 首先是html部分
<div class="content">
<div class="list"></div> //list 是放ajax请求的列表
<input type="hidden" id="pageNum"> //pageNum 为记录当前请求接口数据的页码
<div class="more">点击加载更多记录</div> //more 控制点击换页
</div>
2 jQuery实现部分
假设接口返回数据结构如下
代码实现如下
$(function(){ //页面加载完成后执行 var load=false; // load为判断接口是否请求完成,防止多次触摸、多次点击导致接口的多次请求出错 var url="baidu.com"; var getData = function(page,url){ //请求接口的方法,方法带page,url两个参数。 $(‘.more‘).text(‘正在加载中...‘); $.ajax({ url:url, //请求接口的url type : ‘get‘, dataType : "json", data:{ page : page, //请求的页数 }, success : function(data){ if(data.code == 0){ if (data.data.data.length>0) { $("#pagenum").val(parseInt(data.data.page.currentPage)+1); showList(data.data.data); if (data.data.page.currentPage>=data.data.page.totalPage) { load=true; $(".more").html(‘已经到底了‘); }else if(data.data.page.currentPage<data.data.page.totalPage) { load=false; $(".more").html(‘查看更多‘); } } }, error : function(){ console.log(‘请求失败‘); } }); } var showList = function(data){ //显示列表的html内容 var ullist = ‘‘; $.each(data.data,function(i,n){ ullist+=‘<ul>‘...‘</ul>‘; }) $(‘.list‘).append(ullist); } //继续加载按钮事件 $(document).on("click",‘.more‘,function(){ if(load==false) { load=true; page=$("#pagenum").val(); getData(page,url); } }) //==============核心代码============= //鼠标向下滚动加载下一页数据,或者移动端向下滑动加载下一页数据 var winH = $(window).height(); //页面可视区域高度 var scrollHandler = function () { var pageH = $(document.body).height(); var scrollT = $(window).scrollTop(); //滚动条top var aa = (pageH - winH - scrollT) / winH; if (aa < 0.02) {//0.02是个参数 if(load==false) { load=true; page=$("#pagenum").val(); getData(page,url); } } } //定义鼠标滚动事件 $(window).scroll(scrollHandler); }
大概就这样啦,用jQuery对接列表接口。
jQuery 移动端ajax请求列表数据,实现点击翻页效果(还有往上滑动翻页)。
原文:http://www.cnblogs.com/whkl-m/p/6247103.html