基于JavaScript實現(xiàn)移動端無限加載分頁
本文實例為大家分享了js實現(xiàn)移動端無限加載分頁的具體代碼,供大家參考,具體內(nèi)容如下
原理:當(dāng)滾動條到達底部時,執(zhí)行下一頁內(nèi)容。
判斷條件需要理解三個概念:
1.scrollHeight 真實內(nèi)容的高度
2.clientHeight 視窗的高度,即在瀏覽器中所能看到的內(nèi)容的高度
3.scrollTop 視窗上面隱藏掉的部分,即滾動條滾動的距離
思路:
1.使用fixed定位加載框
2.使用$(window).scroll();方法來觸發(fā)是否加載
3.通過 真實內(nèi)容高度 - 視窗高度 - 上面隱藏部分 < 10 ,作為加載觸發(fā)的條件
代碼樣例
var page=1; //當(dāng)前頁的頁碼 var flagNoData = false; //false var allpage; //總頁碼,會從后臺獲取 function showAjax(page){ $.ajax({ url:"", type:"", data:"", success:function(data){ //要執(zhí)行的內(nèi)容 showContent(); if(page>=data.allpage){ //當(dāng)前頁碼大于等于總頁碼 flagNoData = true; }; page+=1; //頁數(shù)加1 } }) } function scrollFn(){ //真實內(nèi)容的高度 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){ //數(shù)據(jù)全部加載完了 return; }else if(pageHeight - viewportHeight - scrollHeight < 10){ //如果滿足觸發(fā)條件,執(zhí)行 showAjax(page); } } $(window).bind("scroll",scrollFn); //綁定滾動事件
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Javascript實現(xiàn)鼠標(biāo)框選操作 不是點擊選取
這篇文章主要介紹了Javascript實現(xiàn)鼠標(biāo)框選操作,不是點擊選取,利用鼠標(biāo)進行框選,感興趣的小伙伴們可以參考一下2016-04-04小程序input數(shù)據(jù)雙向綁定實現(xiàn)方法
這篇文章主要介紹了小程序input數(shù)據(jù)雙向綁定實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10