Igg*_*ggy 1 javascript browser dom repaint reflow
我开始学习浏览器的内部工作原理,并遇到了回流/重绘机制(以及它如何应用于 React,但我不想离题)。
一般来说,我认为任何使浏览器计算值/可见更改的行为都会触发回流/重绘。
然而,我却无法理解Element.setAttribute。它会触发 Chrome 中的回流/重绘吗?更新dom树中多个元素属性最有效的方法是什么?
但是,我无法理解 Element.setAttribute。它会触发 Chrome 中的回流/重绘吗?
setAttribute与重绘/回流没有直接关系。这取决于你设置什么属性以及设置它的元素类型。如果更改value复选框的 ,则不会发生重绘或回流,但如果更改valuea 的<input type="button">,则会发生重绘和回流。
更新dom树中多个元素属性最有效的方法是什么?
“最有效”很难回答,因为每个浏览器都可以进行优化以以不同的速度执行任务。但是,一般来说,您可以遵循以下准则:
切勿在循环内更新 DOM,因为循环的每次迭代都可能导致重绘/回流。
有许多资源可用于了解如何减少性能影响:
| 归档时间: |
|
| 查看次数: |
1439 次 |
| 最近记录: |