如何在DOM操作完成之前停止浏览器重绘?

时间:2017-07-01 18:03:50

标签: javascript jquery html html5 dom

在我的1页网页应用程序的各个点上,我想做一些相当重的DOM操作,移动各种div(每个都有很多子元素)。我不希望浏览器试图在操作过程中重复重绘页面。有没有办法对浏览器说'#34;暂停重绘,直到我继续#34;

requestAnimationFrame()似乎是一个候选者,但是它适用于DOM重新排列,还是仅适用于动画?还有其他我能做的事吗?

由于

1 个答案:

答案 0 :(得分:2)

您可以尝试使用documentFragment。

  1. 创建documentFragment。
  2. 首先将所有内容写入documentFragment。
  3. 完成后,使用documentFragment替换DOM内容。
  4. 然后操作不是即时进行的,你使用documentFragment作为一种缓冲区。