我知道有多個插件,但我不知道如何讓我自己的事情按我想要的方式工作。jQuery:真的很簡單的自制無限滾動
首先,當滾動到我的頁面底部時,我想觸發一個名爲ajaxLoadActivity
的功能,該功能現在通過「顯示更多」按鈕觸發。
$(window).scroll(function() {
if ($(window).scrollTop() >= ($(document).height() - $(window).height()))
if ($('ol.astream > .loadCount:last > li').attr('id') == "noMoreActivities")
return false;
ajaxLoadActivity('bottom', true);
console.log('fired');
});
我有這個問題,可能大家遇到的時候,試圖自己做這個。問題是該函數被多次觸發。功能ajaxLoadActivity
做所有的ajax的東西,並將<li>
項目添加到現有的<ol>
。只需使用「Show More」按鈕即可使用該功能。
但是,我不知道如何在簡單地滾動到頁面底部時觸發相同的功能。但是我只想調用它一次 - 然後等待直到東西被加載 - 然後才允許再次觸發底部的功能。
而且我有一個例外已經在我上面的示例代碼中了......如果我的最後一個元素的ID爲noMoreActivities
我不希望該函數被再次觸發,因爲那樣就沒有更多的活動了。
任何想法如何才能觸發該功能只有一次,並等待,直到請求發生?
但是這隻被解僱一次,對吧?所以,如果我滾動到底部函數被調用,但是我希望功能再次觸發一次,我再次達到底部 – matt
'$(document).height()'會改變,所以它應該再次被觸發 –
會有人開始解釋爲什麼你使用這個特定的條件:$(document).height() - $(window).height())當頁面底部的scrolltop看起來並不總是大於document.height -window.height?爲什麼不使用scrolltop === document.height? – fstopzero