使用js动态定位目标

背景 :
有时候你想定位一个按钮或者图片(比如为了鼠标一移上去就会弹出一个层),想知道它到底处于屏幕的那个坐标,而且很多页面都要用包含这个按钮,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,即你定为的对象

你可能感兴趣的:(null)