码迷,mamicode.com
首页 > 移动开发 > 详细

js 实现无限加载分页(适合移动端)

时间:2017-08-25 10:48:05      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:页码   drop   ext   com   word   http   页面   viewport   page   

一、原理:当滚动条到达底部时,执行下一页内容。

判断条件需要理解三个概念:
    1.scrollHeight 真实内容的高度
    2.clientHeight 视窗的高度,即在浏览器中所能看到的内容的高度
    3.scrollTop 视窗上面隐藏掉的部分,即滚动条滚动的距离

思路:
    1.使用fixed定位加载框
    2.使用$(window).scroll();方法来触发是否加载

    3.通过 真实内容高度 - 视窗高度 - 上面隐藏部分 < 5 ,作为加载触发的条件

 

JavaScript代码:

<script type="text/javascript">
    var page=2; //当前页的页码
    var allpage; //总页码,会从后台获取
    var catid="{$catid}";
    function showAjax(page){
        $.ajax({
              url:"",
              type:"post",
              data:{page:page,catid:catid},
              success:function(data){
                //要执行的内容
                showContent(data);
              }
        })
    }
    function scrollFn(){
        //真实内容的高度
        var pageHeight = Math.max(document.body.scrollHeight,document.body.offsetHeight);
        //视窗的高度
        var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
        //隐藏的高度
        var scrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
        if(pageHeight - viewportHeight - scrollHeight < 50){//如果满足触发条件,执行
            showAjax(page);
        }
    }
    function showContent(data){
      var list=eval(‘(‘+data+‘)‘);
      var ss=‘‘;
      for (var i in list) {
        ss=ss+‘<li><a href="‘+list[i][‘url‘]+‘">‘+list[i][‘title‘]+‘</a></li>‘;
      }
      $(".minsuList").append(ss);
      page++;  //页数加1
    }
    $(window).bind("scroll",scrollFn);//绑定滚动事件
   </script>

  

二、

$(window).scroll(function () {
     //已经滚动到上面的页面高度
    var scrollTop = $(this).scrollTop();
     //页面高度
    var scrollHeight = $(document).height();
      //浏览器窗口高度
    var windowHeight = $(this).height();
     //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
     if (scrollTop + windowHeight == scrollHeight) {
                    dragThis.insertDom();
      }
});

 

三、js插件

移动端下拉刷新、上拉加载更多插件dropload

js 实现无限加载分页(适合移动端)

标签:页码   drop   ext   com   word   http   页面   viewport   page   

原文地址:http://www.cnblogs.com/mracale/p/7426495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!