在将它们插入DOM之前,我需要获得许多小<div>
- 元素的大小。
目前,我暂时添加它们,获取offsetWidth
和offsetHeight
,然后我再次将其删除:
document.body.appendChild(child);
size = [child.offsetWidth, child.offsetHeight]
document.body.removeChild(child);
问题是,这是超慢的,因为它会为每个被测量的<div>
触发回流。
你知道如何加快速度吗?
答案 0 :(得分:0)
如果有人仍在寻找如何在没有回流的情况下获得边界的答案(就像我一样),请使用 IntersectionObserver
及其 boundingClientRect
接口。
您可以在此处阅读更多信息https://toruskit.com/blog/how-to-get-element-bounds-without-reflow