JavaScript获取offsetTop和offsetLeft的值
box.offsetLeft; box.offsetTop;这组属性可以获取当前元素相对于父元素的位置。
如果说,在很多层次里,外层已经定位,我们怎么获取里层的元素距离 body 或 html元素之间的距离呢?也就是获取任意一个元素距离页面上的位置。那么我们可以编写函数,通过不停的向上回溯获取累加来实现。
offsetParent()方法返回最近的祖先定位元素。
定位元素指的是元素的 CSS position 属性被设置为 relative、absolute 或 fixed 的元素。
function offsetLeft(element) {
var left = element.offsetLeft; //得到第一层距离
var parent = element.offsetParent; //得到第一个父元素
while (parent != null) { //如果还有上一层父元素
left += parent.offsetLeft; //把本层的距离累加
parent = parent.offsetParent; //得到本层的父元素
} //然后继续循环
return left;
}

浙公网安备 33010602011771号