Open 981377660LMT opened 9 months ago
getBoundingClientRect方法返回一个DOMRect对象,这个对象包含了一组描述元素布局的矩形的只读属性。这些属性包括:
(x,y):元素的原点。 width:元素的宽度,等于right - left。 height:元素的高度,等于bottom - top。 left:元素左边界距离视口左边的距离。 top:元素上边界距离视口顶部的距离。 right:元素右边界距离视口左边的距离。 bottom:元素下边界距离视口顶部的距离。 这些值都是相对于视口的,不包括任何滚动偏移。如果你需要考虑滚动偏移,可以使用window.scrollX和window.scrollY(或者window.pageXOffset和window.pageYOffset)来获取滚动的距离,然后加到left和top上。
例如:
let rect = element.getBoundingClientRect(); let left = rect.left + window.scrollX; let top = rect.top + window.scrollY;
这样得到的left和top就是元素左上角相对于整个文档的位置。
DOMRect 从其父类 DOMRectReadOnly 继承属性。不同之处在于它们不再是只读的。
getBoundingClientRect方法返回一个DOMRect对象,这个对象包含了一组描述元素布局的矩形的只读属性。这些属性包括:
(x,y):元素的原点。 width:元素的宽度,等于right - left。 height:元素的高度,等于bottom - top。 left:元素左边界距离视口左边的距离。 top:元素上边界距离视口顶部的距离。 right:元素右边界距离视口左边的距离。 bottom:元素下边界距离视口顶部的距离。 这些值都是相对于视口的,不包括任何滚动偏移。如果你需要考虑滚动偏移,可以使用window.scrollX和window.scrollY(或者window.pageXOffset和window.pageYOffset)来获取滚动的距离,然后加到left和top上。
例如:
这样得到的left和top就是元素左上角相对于整个文档的位置。