如何使用JavaScript找到HTML元素相对于整个桌面屏幕的位置?

时间:2011-05-24 07:57:46

标签: javascript html

如何使用JavaScript找到相对于桌面屏幕(即浏览器窗口外)的特定html元素(例如div,table,lable等等)的X,Y坐标?

我可以使用offsetHeightoffsetWidth找到元素的高度和宽度,但找不到任何可以提供元素相对于用户整个元素的精确X,Y坐标的内容桌面屏幕。

2 个答案:

答案 0 :(得分:1)

我认为你必须通过父母跟随树,并继续添加补偿,如下所述:

http://bytes.com/topic/javascript/answers/90547-how-get-absolute-position-element

function getY( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) {
        iReturnValue += oElement.offsetTop;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

答案 1 :(得分:1)

我认为即使它很简单也不可能。

  1. 找到浏览器相对于屏幕的位置
  2. 找到相对于视口的元素位置。
  3. 添加坐标,您将获得所需的输出
  4. 按照我写的代码:

    var element = document.getElementById("ID of the element");// you can use any method to find the element ..
    var position = getPosition(element);
    function getPositions(obj)
    {
            var p = [];
            var position =  obj.getBoundingClientRect();
            p[0] = window.screenX + position.left;
            p[1] = window.screenY + position.top;
            p[2] = position.width;
            p[3] = position.height;
            return p;
    
    }