[JavaScript]JavaScript获取元素到页面左边、顶部的距离
刚开始写了个递归:
function getOffsetPosition(element, x, y){
x = x || 0;
y = y || 0;
if(element.offsetParent != null){
return getOffsetPosition(element.offsetParent, element.offsetLeft + x, element.offsetTop + y);
}else{
return {
x: x,
y: y
}
}
};
getOffsetPosition(document.getElementById('id'));
// { x: 100, y: 666 }
其实JavaScript已经提供了获取元素位置的方法:
getBoundingClientRect
这个方法能获取元素距离窗口左边和顶边的距离。这样一来,只要再加上窗口已经滚去的距离,就是元素到页面左边和顶边的距离了:
x: ele.getBoundingClientRect().x + window.scrollX;
y: ele.getBoundingClientRect().y + window.scrollY;
基础知识掌握的太太太太差……