JavaScript获取offsetTop和offsetLeft的值

box.offsetLeft; box.offsetTop;这组属性可以获取当前元素相对于父元素的位置。

如果说,在很多层次里,外层已经定位,我们怎么获取里层的元素距离 body 或 html元素之间的距离呢?也就是获取任意一个元素距离页面上的位置。那么我们可以编写函数,通过不停的向上回溯获取累加来实现。

offsetParent()方法返回最近的祖先定位元素。

定位元素指的是元素的 CSS position 属性被设置为 relativeabsolute 或 fixed 的元素。

function offsetLeft(element) {

var left = element.offsetLeft;      //得到第一层距离

var parent = element.offsetParent;  //得到第一个父元素

while (parent != null) {         //如果还有上一层父元素

left += parent.offsetLeft;         //把本层的距离累加

parent = parent.offsetParent;      //得到本层的父元素

     }                            //然后继续循环

return left;

}

posted @ 2013-05-20 18:43  hy小辣椒  Views(552)  Comments(0)    收藏  举报