同事们在项目中使用滚动事件来加载数据,结果是IE.的悲剧,给出了一种简单的优化方法,效果很明显。

只要用户改变窗口的大小,它会重新计算一些内部元素的大小,这可能会导致一个重新整个页面的渲染,造成了大量的CPU消耗。例如,呼叫的调整方法,用户改变窗口的大小,将不会停止被触发的IE低版本可能会陷入假死的状态。所以是窗口滚动事件,鼠标滚动或拖动滚动条不停滚动的事件,如果处理事情,低版本的IE会假死的状态。

基本优化思想:在一定的时间内,只执行一个调整大小的事件函数。
复制代码代码如下所示:
无功resizetimer = null;
$(窗口),('resize功能()){
如果(resizetimer){
ClearTimeout(resizetimer)
}
resizetimer = setTimeout(){()函数(
console.log(窗口大小);
},400);
}
);

滚动事件优化相同的原因。