指引网

当前位置: 主页 > 网页制作 > JavaScript >

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

来源:网络 作者:佚名 点击: 时间:2017-08-07 22:14
[摘要] js 实现无限加载分页(适合移动端)原理:当滚动条到达底部时,执行下一页内容。判断条件需要理解三个概念: 1.scrollHeight 真实内容...
js 实现无限加载分页(适合移动端)

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

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

思路:
    1.使用fixed定位加载框
    2.使用$(window).scroll();方法来触发是否加载
    3.通过 真实内容高度 - 视窗高度 - 上面隐藏部分 < 5 ,作为加载触发的条件

  1. var page=1; //当前页的页码 
  2.     var allpage; //总页码,会从后台获取 
  3.     function showAjax(page){ 
  4.         $.ajax({ 
  5.             url:""
  6.             type:""
  7.             data:""
  8.             success:function(data){ 
  9.                 //要执行的内容 
  10.                 showContent(); 
  11.                 page++; //页数加1 
  12.             } 
  13.         }) 
  14.     } 
  15.     function scrollFn(){ 
  16.         //真实内容的高度 
  17.         var pageHeight = Math.max(document.body.scrollHeight,document.body.offsetHeight); 
  18.         //视窗的高度 
  19.         var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0; 
  20.         //隐藏的高度 
  21.         var scrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; 
  22.         if(pageHeight - viewportHeight - scrollHeight < 20){    //如果满足触发条件,执行 
  23.             showAjax(page); 
  24.         } 
  25.     } 
  26.     $(window).bind("scroll",scrollFn);  //绑定滚动事件 

------分隔线----------------------------