我想设置用户开始滚动页面时以及滚动完成后的逻辑,如何实现此目的?
我想避免以下情况,因为这意味着我的逻辑将被不必要地重复触发
$(window).scroll(function(){
console.log("scrolling");
});
最佳答案
您可以尝试定义您自己的debounced events 。一个(非常粗略的)实现看起来像这样:
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);
});
关于jquery - 我可以在 jQuery 上声明滚动事件开始和结束的逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096429/