文章内容

2022/12/22 9:32:25,作 者: 黄兵

JavaScript 获取元素的位置

可以使用 JavaScript 的 getBoundingClientRect() 方法来获取元素的位置信息,然后取出 left 和 top 属性即可。下面是一个例子:

let element = document.querySelector('.info');
let rect = element.getBoundingClientRect();
let left = rect.left;
let top = rect.top;

注意,getBoundingClientRect() 返回的是元素相对于浏览器窗口的坐标,如果需要相对于整个文档的坐标,可以使用 pageXOffsetpageYOffset 来获取文档滚动的距离,然后加上即可。

let element = document.querySelector('.info');
let rect = element.getBoundingClientRect();
let left = rect.left + window.pageXOffset;
let top = rect.top + window.pageYOffset;

注意,如果元素的父元素有设置了定位样式(如 position: relative),那么 getBoundingClientRect() 返回的坐标会相对于父元素的坐标系,因此需要递归的计算父元素的坐标。

分享到:

发表评论

评论列表