窗口大小改变绑定resize事件

当为窗口绑定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);

posted @ 2013-11-04 23:18  charling  阅读(2127)  评论(0编辑  收藏  举报