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

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

var timeout = false;
$(window).scroll(function(){
    if (timeout){clearTimeout(timeout);}
    timeout = setTimeout(function(){
        //do    
    },100);
);
debounce