var $isFetchingNotes = false;
$(window).scroll(function(){
if($('#loader-blog').hasClass('nomore')) {
return false;
}
var $scroll = $(window).scrollTop();
var $docHeight = $(document).height();
var $winHeight = $(window).height();
if($scroll === $docHeight - $winHeight){
if(!$isFetchingNotes) {
$isFetchingNotes = true;
$('#loader-blog').html('<img src="/images/lazyload40.svg">');
var lastDiv = $('.data-display-blog:last');
var lastId = $('.data-display-blog:last').attr('id');
var type = $('.data-display-blog:last').attr('data-type');
var query = $('.data-display-blog:last').attr('data-query');
var dataTo = 'lastid='+lastId+'&type='+type+'&query='+query;
$.ajax({
type: 'POST',
url:'app',
data: dataTo,
cache: false,
success: function(data){
if(data != ''){
lastDiv.after(data);
}else{
$('#loader-blog').addClass('nomore').html('nodata');
}
},
complete: function () {
$isFetchingNotes = false;
}
});
}
}
});
我發(fā)現(xiàn) scroll 滑到底的時(shí)候,即使後端數(shù)據(jù)是 空他也不會(huì)執(zhí)行 $('#loader-blog').addClass('nomore').html('nodata'); 這段?我在裡面有加了 : alert事件,但是都遲遲沒(méi)有反應(yīng)。但我用谷歌 inspect 檢查 <div id="#loader-blog"></div> 每次滑下去都是有觸發(fā)東西的,會(huì)閃一下。(後來(lái)發(fā)現(xiàn)可能是觸發(fā)$('#loader-blog').html('<img src="../images/loading_v2.svg">'); )怎麼會(huì)這樣呢?我確定後端給的值是空值...
我即使變成這樣:
if(data != ''){
lastDiv.after(data);
}else if(data == ''){
$('#loader-blog').addClass('nomore').html('no-data');
}
卻還是沒(méi)有反應(yīng)。。。
補(bǔ)充:
我要如何在還沒(méi)有滾到最下面碰底的時(shí)候,就開(kāi)始發(fā)出ajax請(qǐng)求?
lazyload + ajax 沒(méi)有數(shù)據(jù)的時(shí)候的顯示,無(wú)效?
慕的地6264312
2019-03-08 15:16:19