You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过.getBoundingClientRect()获取的DOMRect是实时的还是不可变的?

getBoundingClientRect() 返回的 DOMRect 是快照还是实时视图?

当通过以下代码获取DOMRect对象后:

let domRect = el.getBoundingClientRect();

若后续元素el的边界矩形因内容更新、页面滚动等原因发生变化,情况2成立:domRect对象反映的是调用getBoundingClientRect()时的原始边界,是一个不可变的快照。

具体说明:

  • 调用getBoundingClientRect()的瞬间,浏览器会同步计算元素当前的位置、尺寸等边界信息,并将这些值封装到返回的DOMRect对象中。
  • DOMRect对象中的所有属性(如top、left、width、height)都是静态数值,不会随元素后续的状态变化自动更新。
  • 如果需要获取元素最新的边界信息,必须再次调用el.getBoundingClientRect()方法。

内容的提问来源于stack exchange,提问作者Jo Liss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 20:54:50