该Element.getBoundingClientRect()方法返回一个 DOMRect 对象,该对象提供元素大小及其相对于视口的位置信息;
用法如下:
domRect = element.getBoundingClientRect();
返回元素的 left, top, right, bottom, x, y, width, and height 值;
比如说要获得 DOM 元素相对于网页左上角的定位距离 top 和 left 的值:
const h3 = document.querySelector("h3");
const rect = h3.getBoundingClientRect();
const topElement = document.documentElement;
// 需要加上被卷起的高度
const positionTop = topElement.scrollTop + rect.top;
const positionLeft = topElement.scrollLeft + rect.left;