📅  最后修改于: 2023-12-03 15:38:53.606000             🧑  作者: Mango
在前端开发过程中,我们经常需要获取元素在页面中的坐标位置,然后根据这些位置进行一些操作。比如:实现元素的拖拽、弹出提示框等。下面是获取元素 xy 位置的几种方法:
offsetLeft
和 offsetTop
属性可返回当前元素相对于其offsetParent元素的左侧距离和顶部距离,是相对位置。其用法如下:
let ele = document.getElementById('myElement');
let left = ele.offsetLeft;
let top = ele.offsetTop;
getBoundingClientRect()
方法返回一个矩形对象,该对象包含四个属性:left、top、right 和 bottom,用于表示元素的位置。其用法如下:
let ele = document.getElementById('myElement');
let rect = ele.getBoundingClientRect();
let left = rect.left;
let top = rect.top;
如果你使用了 jQuery 库,可以使用其提供的 offset()
方法来获取元素位置。其用法如下:
let ele = $('#myElement');
let left = ele.offset().left;
let top = ele.offset().top;
getComputedStyle
方法用于获取元素的最终样式。我们可以结合 getComputedStyle
方法以及上面提到的方法中的一个来获取元素位置。其用法如下:
let ele = document.getElementById('myElement');
let left = parseInt(getComputedStyle(ele).left);
let top = parseInt(getComputedStyle(ele).top);
注意,该方法返回的值是带单位的字符串,需要使用 parseInt()
或 parseFloat()
方法去除单位。
综上所述,以上几种方法可以用来获取元素在页面中的位置。可以根据实际情况选择一种适合的方法。