当为窗口绑定resize事件时,大部分浏览器会在每改变一个像素就触发一次resize事件。这严重影响了网站的性能。
解决方案是:利用settimeout方法为事件发触发的方法设置延迟执行的时间。
实现:
function lazyScroll( method, context, delay ){
clearTimeout( method.tId );
method.tId = setTimeout( function(){
method.call( context );
},delay );
}
function doSomething(){alert(1);}
lazyScroll( doSomething, window, 500);