用过scroll事件的人都知道,在每次拖动滚动条的时候会相应的事件会相应多次,而在大多数情况下我们都只希望它在滚动条停止滚动的时候 响应。经过多次测试,终于发现了一个比较好的解决方案,那就是通过setTimeout,给scroll加个延迟。例如用jQuery为页面加入 scroll事件,可以这样写:
- var timeout = false;
- $(window).scroll(function(){
- if (timeout){clearTimeout(timeout);}
- timeout = setTimeout(function(){
- //do
- },100);
- );
原文地址:http://www.lav.so/index.php?aid=2
转载于:https://blog.51cto.com/lavso/584988