.getBoundingClientRect() 返回的 DOMRect 是实时的还是不可变的?

问题描述 投票:0回答:1

假设我通过调用

DOMRect
得到了一个
el.getBoundingClientRect
对象:

let domRect = el.getBoundingClientRect();

如果我保留这个物体并且

el
的大小发生变化,以下哪项是正确的?

  1. domRect
    对象反映了
    el
    的新边界。也就是说,它是 DOM 状态的实时视图。或者:
  2. domRect
    对象反映了
    el
    的原始边界。也就是说,它是调用
    el.getBoundingClientRect()
    时的不可变快照。
javascript dom
1个回答
0
投票

DOMRect
返回的
el.getBoundingClientRect()
对象是调用
.getBoundingClientRect()
时元素状态的不可变快照。如果用户滚动的页面布局发生变化,它不会随后发生变化。

这里有 CodePen 来测试这个

© www.soinside.com 2019 - 2024. All rights reserved.