
記錄初始化的頁(yè)數(shù),now為當(dāng)前頁(yè),num為總頁(yè)數(shù),這個(gè)數(shù)值的設(shè)置是通過(guò)php獲取分頁(yè)的時(shí)候的總頁(yè)數(shù)
<div class="caseud" now="1" num="2">
<a href="javascript:;">加載更多</a>
</div>
<script type="text/javascript">
//記錄狀態(tài)
var state=true;
//滾動(dòng)條滾動(dòng)的時(shí)候
$(window).scroll(function(){
//獲取當(dāng)前加載更多按鈕距離頂部的距離
var bottomsubmit = $('.caseud').offset().top;
//獲取當(dāng)前頁(yè)面底部距離頂部的高度距離
var nowtop = $(document).scrollTop()+$(window).height();
//獲取當(dāng)前頁(yè)數(shù),默認(rèn)第一頁(yè)
var now = $('.caseud').attr('now');
//獲取總頁(yè)數(shù),PHP分頁(yè)的總頁(yè)數(shù)
var num = $('.caseud').attr('num');
//當(dāng)當(dāng)前頁(yè)面的高度大于按鈕的高度的時(shí)候開始觸發(fā)加載更多數(shù)據(jù)
if(nowtop>bottomsubmit){
//如果為真繼續(xù)執(zhí)行,這個(gè)是用于防止?jié)L動(dòng)獲取過(guò)多的數(shù)據(jù)情況
if(state==true){
//執(zhí)行一次獲取數(shù)據(jù)并停止再進(jìn)來(lái)獲取數(shù)據(jù)
state=false;
setTimeout(function(){
//當(dāng)前頁(yè)數(shù)++
now++;
//記錄當(dāng)前為第二頁(yè)
$('.caseud').attr('now',now);
$.ajax({
//通過(guò)ajax傳頁(yè)數(shù)參數(shù)獲取當(dāng)前頁(yè)數(shù)的數(shù)據(jù),ajax_more_case.php代碼參考php分頁(yè)功能
url:'ajax_more_case.php?page='+$('.caseud').attr('now')',
type:'GET',
cache:false,
dataType:"html",
success:function(data){
//把通過(guò)php處理的html和數(shù)據(jù),寫入容器底部
$('.case').append(data);
//如果當(dāng)前頁(yè)大于等于總頁(yè)數(shù)就提示沒(méi)有更多數(shù)據(jù)
if(now>=num){
$('.caseud a').text('沒(méi)有更多數(shù)據(jù)');
//并把狀態(tài)設(shè)置為假,下次下滑滾動(dòng)時(shí)不再通過(guò)ajax獲取數(shù)據(jù)
state=false;
}else{
//否則繼續(xù)
state=true;
}
},
error:function(){
$('.caseud a').text('加載錯(cuò)誤,請(qǐng)刷新頁(yè)面!');
}
});
},500);
}
}
});
</script>
這里的下滑到底部加載更多的功能,通過(guò)判斷屏幕是否滾動(dòng)到底部,當(dāng)滾動(dòng)到底部的時(shí)候通過(guò)分頁(yè)頁(yè)數(shù)去ajax數(shù)據(jù)過(guò)來(lái),并寫入到頁(yè)面中。
您發(fā)布的評(píng)論即表示同意遵守以下條款:
一、不得利用本站危害國(guó)家安全、泄露國(guó)家秘密,不得侵犯國(guó)家、社會(huì)、集體和公民的合法權(quán)益;
二、不得發(fā)布國(guó)家法律、法規(guī)明令禁止的內(nèi)容;互相尊重,對(duì)自己在本站的言論和行為負(fù)責(zé);
三、本站對(duì)您所發(fā)布內(nèi)容擁有處置權(quán)。