2016-10-02 99 views
0

我在DOM中添加了很多元素。我不希望浏览器尝试重新绘制页面,直到添加了所有元素。禁用浏览器的回流 redraw

这可能吗?

+1

它可能*不会在每个元素之后重绘。要注意的主要问题是散布DOM添加/删除与元素大小和位置等查询,因为这些查询将强制浏览器重绘,以便为您提供正确的答案。 – Pointy

+5

您可以使用[片段](https://developer.mozilla.org/en-US/docs/Web/API/Document/createDocumentFragment)并将您的元素添加到该“元素”,并在完成后添加它。 –

+0

@Pointy关于查询大小的有趣点。我没有考虑过。 – BanksySan

回答

1

只需将所有元素的父项添加到DOM中,以便它只重绘一次。

+0

如果我只操纵一个节点(及其子节点),那么这个方法可行。事实证明,我是。它在我的脑海中点击,我在你发布之前就已经复杂化了一切。 – BanksySan