有没有办法在繁重的DOM操作期间暂停重排?

时间:2010-07-17 16:58:36

标签: firefox dom reflow

我需要在我编写的附加组件中对整个网页文档进行大量的DOM操作。我想尽量减少回流,因此我的所有操作只会发生一次回流。删除body元素,执行操作然后再次插入它不是一个选项,因为这会重新评估所有<script>元素。目前,我在操作之前将主体的可见性设置为'none',并恢复显示之后的值。不过,我不确定这是否是解决这个问题的最好办法。

有更好的方法吗?当然它可能是Firefox特定的代码。毕竟它是一个Firefox附加组件。

1 个答案:

答案 0 :(得分:1)

Gecko实际上非常擅长抑制不必要的修改(也就是说,你可能最好不要搞乱它),除非在你正在进行的许多修改之间,你也要求提供信息。要求布局是最新的(例如元素位置或大小,getComputedStyle等)