如果我有一個叫做Div1的嵌套HTML元素(一個div位於另一個div &,其他div位於主體內部),我怎樣才能從Div1的x,y位置body元素透視也許這被稱爲HTML元素的窗口/屏幕位置)?在body座標中獲取HTML元素的位置
希望這是有道理:)
如果我有一個叫做Div1的嵌套HTML元素(一個div位於另一個div &,其他div位於主體內部),我怎樣才能從Div1的x,y位置body元素透視也許這被稱爲HTML元素的窗口/屏幕位置)?在body座標中獲取HTML元素的位置
希望這是有道理:)
如果你使用jQuery,您可以使用偏移來獲得相對於文檔的位置。
$(element).offset();
參見:http://api.jquery.com/offset
不幸的是我不知道如何用純JS來做到這一點。
執行downvoter:我知道,在OP的問題沒有明確提到jQuery,但這不是一個有效的建議? – 2011-03-23 02:37:42
因爲它可以被視爲改變信仰。我個人並不在乎何時在非jQuery問題上發佈jQuery答案,但是一定比例的SO用戶會對此產生負面影響。 – 2011-03-23 03:30:33
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];
}
以下是演示:http://jsfiddle.net/simevidas/7tbkF/ – 2011-03-23 03:14:47
參見:http://stackoverflow.com/questions/442404/dynamically-retrieve-html-element-xy-position-with-javascript – BStruthers 2011-03-23 01:46:16