相对于屏幕的HTML元素位置

时间:2017-12-23 03:27:23

标签: javascript

我试图获取相对于屏幕的div元素的位置。 我阅读了所有地方,仍然无法找到解决方案,我的代码目前是:

var myElement = document.getElementById('pi');
var myElement2 = document.body;

alert (myElement.offsetTop + ',' + myElement.offsetLeft);
alert (myElement2.offsetTop + ',' + myElement2.offsetLeft);
alert (window.screenX);

我所得到的只是8,8,因为我的div元素并不是真正的位置。

HTML code:

<body> <div id=pi >fffddd</div> </body>

1 个答案:

答案 0 :(得分:1)

假设浏览器的左边缘是身体的左边缘,并且window.innerHeight和window.outerHeight之间的所有差异都在身体上方,那么你可以更接近你要求的东西。此处还有关于多显示器设置的其他假设。

xPos = myElement.offsetLeft + window.screenX;
yPos = myElement.offsetTop + window.screenY + window.outerHeight -

window.innerHeight;

let myElement = document.body,
    xPos = myElement.offsetLeft + window.screenX,
    yPos = myElement.offsetTop + window.screenY + window.outerHeight -
 window.innerHeight;

alert ( xPos + ',' + yPos );