首页 > 移动平台 > 详细

jQuery 移动端ajax请求列表数据,实现点击翻页效果(还有往上滑动翻页)。

时间:2017-01-04 07:47:39      阅读:1168      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!