背景 :
有时候你想定位一个按钮或者图片(比如为了鼠标一移上去就会弹出一个层),想知道它到底处于屏幕的那个坐标,而且很多页面都要用包含这个按钮,js中有很多xxxleft,xxxtop属性,到底该怎么用
var x = obj.offsetLeft;
var y =obj.offsetTop;
var rect=[0,0];
var el = obj;
while(el!=null && el!=document.body)
...{
rect[0]=rect[0]+el.offsetLeft;
rect[1]=rect[1]+el.offsetTop;
el=el.offsetParent;
}
x = rect[0];
y = rect[1];
有时候你想定位一个按钮或者图片(比如为了鼠标一移上去就会弹出一个层),想知道它到底处于屏幕的那个坐标,而且很多页面都要用包含这个按钮,js中有很多xxxleft,xxxtop属性,到底该怎么用
下面的代码来自同事的灵感,特此记录已备忘
var x = obj.offsetLeft;
var y =obj.offsetTop;
var rect=[0,0];
var el = obj;
while(el!=null && el!=document.body)
...{
rect[0]=rect[0]+el.offsetLeft;
rect[1]=rect[1]+el.offsetTop;
el=el.offsetParent;
}
x = rect[0];
y = rect[1];
上面的代码采用递归预算出你的定位对象的绝对坐标,这段代码只需传入一个参数就是obj,即你定为的对象