📌  相关文章
📜  如何获取元素的 xy 位置 (1)

📅  最后修改于: 2023-12-03 15:38:53.606000             🧑  作者: Mango

如何获取元素的 xy 位置?

在前端开发过程中,我们经常需要获取元素在页面中的坐标位置,然后根据这些位置进行一些操作。比如:实现元素的拖拽、弹出提示框等。下面是获取元素 xy 位置的几种方法:

1. offsetLeft 和 offsetTop

offsetLeftoffsetTop 属性可返回当前元素相对于其offsetParent元素的左侧距离和顶部距离,是相对位置。其用法如下:

let ele = document.getElementById('myElement');
let left = ele.offsetLeft;
let top = ele.offsetTop;

2. getBoundingClientRect

getBoundingClientRect() 方法返回一个矩形对象,该对象包含四个属性:left、top、right 和 bottom,用于表示元素的位置。其用法如下:

let ele = document.getElementById('myElement');
let rect = ele.getBoundingClientRect();
let left = rect.left;
let top = rect.top;

3. jQuery 的 offset 方法

如果你使用了 jQuery 库,可以使用其提供的 offset() 方法来获取元素位置。其用法如下:

let ele = $('#myElement');
let left = ele.offset().left;
let top = ele.offset().top;

4. getComputedStyle

getComputedStyle 方法用于获取元素的最终样式。我们可以结合 getComputedStyle 方法以及上面提到的方法中的一个来获取元素位置。其用法如下:

let ele = document.getElementById('myElement');
let left = parseInt(getComputedStyle(ele).left);
let top = parseInt(getComputedStyle(ele).top);

注意,该方法返回的值是带单位的字符串,需要使用 parseInt()parseFloat() 方法去除单位。

综上所述,以上几种方法可以用来获取元素在页面中的位置。可以根据实际情况选择一种适合的方法。