如何在不使用事件的情况下获取Element的pageX和pageY

Mar*_*One 7 html javascript dom

无论如何在不使用e.pageX和e.pageY的情况下定位任何元素.

检查这个小提琴

这个小提琴实际上是我试图提出的一个不好的尝试,但我认为一个视觉例子会更好.我想知道的是,是否有可能通过参考使用找到DOM上任何元素的X和Y坐标

 document.getElementByID('elementID');
Run Code Online (Sandbox Code Playgroud)

或者可能

document.getElementsByTagName('TagName');
Run Code Online (Sandbox Code Playgroud)

编辑:虽然我在FIDDLE中使用了Jquery,但我想要一个仅使用JavaScript的可能解决方案.

Bas*_*i M 10

你可以用

document.getElementById("elementID").offsetTop;
document.getElementById("elementID").offsetLeft;
Run Code Online (Sandbox Code Playgroud)

请参阅MDN.它们从父元素返回偏移量.如果你需要元素相对于整个身体的偏移,它可能会变得更加棘手,因为你必须总结链中每个元素的偏移量.
分别为.getElementsByTagName,因为DOM中的每个对象都具有这些属性.

.getBoundingClientRect值得一看.

var clientRectangle = document.getElementById("elementID").getBoundingClientRect();
console.log(clientRectangle.top); //or left, right, bottom
Run Code Online (Sandbox Code Playgroud)