1、display属性设置

先将元素设为​​display: none​​(需要1次重排和重绘),然后对这个节点进行100次操作,最后再恢复显示(需要1次重排和重绘)。这样一来,你就用两次重新渲染,取代了可能高达100次的重新渲染。

只在必要的时候,才将元素的display属性为可见,因为不可见的元素不影响重排和重绘。另外,​​visibility : hidden​​的元素只对重绘有影响,不影响重排。

 

2、position:absolute/fixed

position属性为absolute或​​fixed​​的元素,重排的开销会比较小,因为不用考虑它对其他元素的影响。

 

3、不要一条条地改变样式,而要通过改变class,或者csstext属性,一次性地改变样式



// bad
var left = 10;
var top = 10;
el.style.left = left + "px";
el.style.top = top + "px";

// good
el.className += " theclassname";

// good
el.style.cssText += "; left: " + left + "px; top: " + top + "px;";