使用javascript获取元素的水平和垂直位置

lis*_*aro 0 javascript

我制作了一个脚本,将我的“角色”(元素 ID =“角色”)移动到我单击的位置。但我需要获取它的位置,这样我就可以让它“走到”我点击的地方,而不是仅仅出现在那里。

这是我的代码:

<html>
<head>
<script type="text/javascript">
function showCoords(evt){
  document.getElementById("character").style.left = evt.pageX;
  document.getElementById("character").style.top = evt.pageY;
}
</script>
</head>

<body onmousedown="showCoords(event)">
<div id="character" style="position: absolute; top: 100px; width: 80px; height: 40px; background:black;"> Char </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

基本上我只想在函数开始时检索元素的水平和垂直位置。这样我以后就可以使用这些变量。我该怎么做?

谢谢

Bor*_*sky 6

如果您只需要它在相当现代的浏览器中工作,那么document.getElementById("character").getBoundingClientRect()将具有lefttop属性,为您提供距视口的偏移量。