在日常使用过程中,我们有时候总要获取元素的位置,并进行操作。而js下提供的offsetTop和offsetLeft只能获取到父级的坐标。那么当我们需要得到对象的绝对位置怎么办呢?特别是页面存在滚动的时候。
function getoffset(obj) {
var json = {
left:0,
top:0
};
while(obj!==document.body){
json.left += obj.offsetLeft;
json.top += obj.offsetTop;
obj = obj.offsetParent;
}
return json;
}
我们看到上面这个封装的函数,通过while循环,从对象开始往外找父级直到找不到父级,即找到body为止,然后将每一个对象相对于其父级的距离加起来,那么得到的就是我们所需对象的绝对距离。
网友评论