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

