我遇到了测量非流动的无格式元素的高度/宽度的性能问题。阅读以下属性似乎非常缓慢:
.offsetHeight
.clientHeight
.scrollHeight
我在其他地方读到它很慢,因为以某种方式阅读它们会导致重排。至少,这是我发现的offsetHeight
,但其他两个表现相同。这里有某种量子魔法,因为逻辑上读取属性不应该导致页面重排。无论如何,是否有更快的方法在最简单的条件下找到元素的宽度/高度,其中元素没有应用margin, padding, border
的任何样式,或者没有任何其他样式?
.style.height
只返回空字符串,因为它只读取style=""
属性中的值,该属性在显式定义之前为空。
更新:window.getComputedStyle(el).height
执行速度一样慢。