0%

jQuery 让scroll事件在滚动条停止时响应

用过jQuery的scroll事件的人都知道,在每次拖动滚动条的时候会相应的事件会相应多次,而在大多数情况下我们都只希望它在滚动条停止滚动的时候响应。经过多次测试,终于发现了一个比较好的解决方案,那就是通过setTimeout,给scroll加个延迟。例如用jQuery为页面加入 scroll事件,可以这样写:

1
2
3
4
5
6
7
var timeout = false;   
$(window).scroll(function(){
if (timeout){clearTimeout(timeout);}
timeout = setTimeout(function(){
//do
},100);
);