如果我有一个叫做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