我试图获取相对于屏幕的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>
答案 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 );