2011-03-23 65 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