首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

怎么获取一个dom元素的绝对位置

2012-10-21 
如何获取一个dom元素的绝对位置? ?应用场景:鼠标滑过某元素时,需要弹出一个信息标签,标签的位置要根据滑过

如何获取一个dom元素的绝对位置

? ?应用场景:鼠标滑过某元素时,需要弹出一个信息标签,标签的位置要根据滑过元素的位置而定。

?

? ?难点:目标元素并不一定是absolute的,因此不能简单的通过top,left这种属性获取。元素可能包裹在n个父元素内,需要把这些因素都考虑进去。

?

? 解决思路:先获取该元素的offsetLeft和offsetTop,然后取它的offsetParent,并向外循环,累加这些left和top,最后得到的就是元素的绝对位置。

?

? 代码:

var obj = xxx; //这个元素就是目标元素,你可以用任何方式将它传入。var w = obj.offsetWidth, h = obj.offsetHeight;//从目标元素开始向外遍历,累加top和left值for (var t = obj.offsetTop, l = obj.offsetLeft; obj = obj.offsetParent;) {    t += obj.offsetTop;        l += obj.offsetLeft;}    
?

?

?

?

热点排行