如何使用javascript获取html元素的x,y位置

时间:2012-06-01 15:58:19

标签: javascript html dom getelementbyid

我在我的html文档中有几个具有某些css类的div元素,并希望获得这些元素的x,y位置,在此先感谢。

3 个答案:

答案 0 :(得分:20)

使用getBoundingClientRecthttp://ejohn.org/blog/getboundingclientrect-is-awesome/

例如:

var div = document.getElementById("yourDiv");
var rect = div.getBoundingClientRect();
alert("Coordinates: " + rect.left + "px, " + rect.top + "px");

请记住getBoundingClientRect提供相对于当前视口的坐标 ,这意味着如果您想知道相对于document.body的坐标,则必须添加水平和垂直滚动量(Firefox的document.documentElement.scrollLeftdocument.body.scrollLeft,当然还有.scrollTop

答案 1 :(得分:1)

如果我理解,你想要这样做http://www.quirksmode.org/js/findpos.html

答案 2 :(得分:1)

以下示例显示了如何检索HTML元素的ClientRect

# first tag link of this page
document.getElementsByClassName('post-taglist')[0].children[0].getClientRects()[0]
# question div
document.getElementById('question').getClientRects()[0]

有了它,你可以访问right,top,height,width,left和bottom属性。