javascript - 更改属性时延迟渲染 dom 元素

标签 javascript performance

我目前在一次更新大量 dom 元素的属性时遇到性能问题。似乎每次我更改属性时,dom 元素都会重新呈现。无论如何我可以延迟元素的渲染,直到我的所有更新都发生了吗?它在 FF 3 和 3.5 中似乎比 IE 7 和 8 慢很多,这与我的预期相反。

下面是我正在做的一个例子。

var t;

for (var i = 0; i < tiles.length; i++) {
    t = tiles[i];
    t.width = '100';
    t.height = '100';
}

问题是“tiles”中的项目数最多可以有 100 个 dom 元素。这才是性能问题真正体现出来的地方。

最佳答案

同意@Crimson但我认为最好隐藏您要更新的所有元素的父级,如果它们没有独占父级,请尝试创建一个。

这样只有两个reflows会发生,一个发生在您隐藏 tile 容器时,另一个发生在您完成元素操作并再次显示它时。

关于javascript - 更改属性时延迟渲染 dom 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1392068/

相关文章:

mysql - 优化两个大表上的简单查询

python - 在 Python 中测量性能

javascript - PWA beforeinstallprompt Uncaught (in promise) DOMException

javascript - onclick 向 div 添加文本

javascript - 语义 Ui Accordion 获取元素数量

javascript - 为什么要更改我的轴 (moment.js) 的时间值?

javascript图像翻转不仅在图像上,而且在空的一边

java - 数组比数组列表快吗?

performance - 动画 SVG 旋转器使用过多的 cpu 和 gpu

Java for 循环性能