0
我有一些函數,它檢查用戶是否滾動到頁面的底部,如果是,則運行ajax並將結果的一部分添加到當前頁面。 這個效果很好,但是如果我將添加負數來更快地啓動此函數,getData()函數會運行很多次,並且所有代碼都會變得異常 - 您可以向上滾動一個像素,然後再次運行。在沒有偏移量的工作版本下面,下一個偏移量對我來說更好,因爲函數早期啓動,但是多次加載getData(),這是錯誤的。使用偏移量滾動到頁面的底部 - 函數運行多次
我想到一些解決方案與國旗 - 真/假,但我不知道如何做到這一點。
$(window).scroll(function() {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
console.log(counter)
if (counter > sum) {
return false;
} else {
getData(counter);
counter++;
}
}
});
$(window).scroll(function() {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 300) {
console.log(counter)
if (counter > sum) {
return false;
} else {
getData(counter);
counter++;
//$(window).unbind('scroll');
}
}
});
搜索「滾動防抖動」 – mplungjan
只給多一點信息,在'scroll'事件觸發每滾動像素一次。您需要改爲只執行一次滾動停止N毫秒的邏輯 - 這是反彈,因爲@ mplungjan指的是 –
https://stackoverflow.com/questions/36415992/debounce-jquery-scroll-events – mplungjan