js實現移動端無限加載分頁


原理:當滾動條到達底部時,執行下一頁內容。

判斷條件需要理解三個概念:
    1.scrollHeight 真實內容的高度
    2.clientHeight 視窗的高度,即在瀏覽器中所能看到的內容的高度
    3.scrollTop 視窗上面隱藏掉的部分,即滾動條滾動的距離

思路:
    1.使用fixed定位加載框
    2.使用$(window).scroll();方法來觸發是否加載
    3.通過 真實內容高度 - 視窗高度 - 上面隱藏部分 < 10 ,作為加載觸發的條件

代碼樣例

 1         var page=1; //當前頁的頁碼
var flagNoData = false; //false
2 var allpage; //總頁碼,會從后台獲取 3 function showAjax(page){ 4 $.ajax({ 5 url:"", 6 type:"", 7 data:"", 8 success:function(data){ 9 //要執行的內容 10 showContent();
if(page>=data.allpage){ //當前頁碼大於等於總頁碼
flagNoData = true;
};
11 page+=1; //頁數加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;
if(falgNoData){ //數據全部加載完了
return;
}
else if(pageHeight - viewportHeight - scrollHeight < 10){ //如果滿足觸發條件,執行 23 showAjax(page); 24 } 25 } 26 $(window).bind("scroll",scrollFn); //綁定滾動事件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM