scroll事件中加了一条语句,发现IE中滚动时,CPU飙升,非常占资源。
测试了下发现,滚轮如果滚一小格,IE7会触发三次事件,IE6会触发四次事件,FF/Chrome等只触发一次,而正常滚动时,每次都会滚动好几个小格,也就导致了IE比较耗资源。
利用延迟,简单的优化了一下自己的代码:
var delay; window.onscroll = function(){ clearTimeout(delay); delay = setTimeout(function(){ ...... },50); }
虽然还是会执行N次clearTimeout,但和原来执行语句相比,几乎可以忽略clearTimeout,CPU不再飙升。
You are currently browsing the xhlv's blog weblog archives for 'scroll' tag.