1
我想爲用戶開始在頁面上滾動並在滾動完成後設置邏輯,我該怎麼做到這一點?我可以在jQuery上爲滾動事件的開始和結束聲明邏輯嗎?
我想避免下面的,因爲它意味着我的邏輯將反覆觸發不必要
$(window).scroll(function(){
console.log("scrolling");
});
我想爲用戶開始在頁面上滾動並在滾動完成後設置邏輯,我該怎麼做到這一點?我可以在jQuery上爲滾動事件的開始和結束聲明邏輯嗎?
我想避免下面的,因爲它意味着我的邏輯將反覆觸發不必要
$(window).scroll(function(){
console.log("scrolling");
});
你可以嘗試定義你自己的debounced events。 A(很粗)的實施將是這個樣子:
var t, l = (new Date()).getTime();
$(window).scroll(function(){
var now = (new Date()).getTime();
if(now - l > 400){
$(this).trigger('scrollStart');
l = now;
}
clearTimeout(t);
t = setTimeout(function(){
$(window).trigger('scrollEnd');
}, 300);
});
+1,輝煌!這是一個改進版本的貢獻,http://www.jsfiddle.net/fGmbe/1/ – 2010-11-04 13:14:02
謝謝你們,偉大的東西 – Chris 2010-11-04 14:38:45
作品真棒!偉大的邏輯。謝謝 :) – 2013-01-02 08:33:03