【发布时间】:2010-11-04 20:43:53
【问题描述】:
我想设置用户何时开始滚动页面以及滚动完成后的逻辑,我该如何完成?
我想避免以下情况,因为这意味着我的逻辑将被不必要地反复触发
$(window).scroll(function(){
console.log("scrolling");
});
【问题讨论】:
我想设置用户何时开始滚动页面以及滚动完成后的逻辑,我该如何完成?
我想避免以下情况,因为这意味着我的逻辑将被不必要地反复触发
$(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);
});
请参阅:http://www.jsfiddle.net/yijiang/fGmbe/ 观看现场演示
【讨论】: