2011-03-23 69 views
0

如果我有一个叫做Div1的嵌套HTML元素(一个div位于另一个div &,其他div位于主体内部),我怎样才能从Div1的x,y位置body元素透视也许这被称为HTML元素的窗口/屏幕位置)?在body坐标中获取HTML元素的位置

希望这是有道理:)

+0

参见:http://stackoverflow.com/questions/442404/dynamically-retrieve-html-element-xy-position-with-javascript – BStruthers 2011-03-23 01:46:16

回答

0

如果你使用jQuery,您可以使用偏移来获得相对于文档的位置。

$(element).offset(); 

参见:http://api.jquery.com/offset

不幸的是我不知道如何用纯JS来做到这一点。

+0

执行downvoter:我知道,在OP的问题没有明确提到jQuery,但这不是一个有效的建议? – 2011-03-23 02:37:42

+0

因为它可以被视为改变信仰。我个人并不在乎何时在非jQuery问题上发布jQuery答案,但是一定比例的SO用户会对此产生负面影响。 – 2011-03-23 03:30:33

3
function getWhere(node, top){ 
    top= top || document.body; 
    var x= 0, y= 0; 
    while(node){ 
     y+= node.offsetTop; 
     x+= node.offsetLeft; 
     node= node.offsetParent; 
     if(node== top) break; 
    } 
    return [x, y]; 
} 
+0

以下是演示:http://jsfiddle.net/simevidas/7tbkF/ – 2011-03-23 03:14:47