這篇文章主要為大家詳細介紹了基於JavaScript實現行動端無限載入分頁,具有一定的參考價值,有興趣的小夥伴們可以參考一下
本文實例為大家分享了js實作行動端無限載入分頁的具體程式碼,供大家參考,具體內容如下
原理:當捲軸到達底部時,執行下一頁內容。
判斷條件需要理解三個概念:
1.scrollHeight 真實內容的高度
2.clientHeight 視窗的高度,即瀏覽器中所能看到的內容的高度
3.scrollTop 視窗上面隱藏掉的部分,即滾動條滾動的距離
想法:
1.使用fixed定位載入框
2 .使用$(window).scroll();方法來觸發是否載入
3.透過真實內容高度- 視窗高度- 上面隱藏部分< 10 ,作為載入觸發的條件
程式碼範例
var page=1; //当前页的页码 var flagNoData = false; //false var allpage; //总页码,会从后台获取 function showAjax(page){ $.ajax({ url:"", type:"", data:"", success:function(data){ //要执行的内容 showContent(); if(page>=data.allpage){ //当前页码大于等于总页码 flagNoData = true; }; page+=1; //页数加1 } }) } 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(falgNoData){ //数据全部加载完了 return; }else if(pageHeight - viewportHeight - scrollHeight < 10){ //如果满足触发条件,执行 showAjax(page); } } $(window).bind("scroll",scrollFn); //绑定滚动事件
以上是基於JavaScript實作行動端無限載入分頁的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!