未成功,尝试使用 clientX 设置 html 元素的位置
Unsuccessfully, trying to set the position of an html element using clientX
我有两个 div 元素和一个 img 元素:
<div class="game-container">
<div class="bubble-container">
<img src="https://raw.githubusercontent.com/diegoleonardoro/bronx_tourism/master/line.png" class="line" width="128"
height="12" />
</div>
</div>
在我的 JavaScript 中,我正在尝试向 div "game-container" 添加一个事件侦听器。这个事件侦听器应该为图像标签添加一些运动,如下所示:
var yellowBox = document.querySelector(".game-container");
var line = document.querySelector(".line");
yellowBox.addEventListener("mousemove", function (e) {
var r = e.clientX;
line.style.left = r + "px";
line.style.left = r + "px";
console.log("Black Line", line.getBoundingClientRect());
console.log("r", r);
})
我期望的结果是当我移动鼠标时变量r 与变量line 相同的结果。但是,这不是我得到的。当我移动缪斯时,这两个元素的位置是不一样的。如果检查两个控制台日志,这就是我得到的:
console.log("Black Line", line.getBoundingClientRect());:
console.log("r", r);
提前致谢!
我可以通过减去 console.log("r", r) 的结果差来修复它;和 console.log("Black Line", line.getBoundingClientRect().left) ;
的结果
我不明白我为什么要做这个减法。如果有人有任何见解,请分享。
我有两个 div 元素和一个 img 元素:
<div class="game-container">
<div class="bubble-container">
<img src="https://raw.githubusercontent.com/diegoleonardoro/bronx_tourism/master/line.png" class="line" width="128"
height="12" />
</div>
</div>
在我的 JavaScript 中,我正在尝试向 div "game-container" 添加一个事件侦听器。这个事件侦听器应该为图像标签添加一些运动,如下所示:
var yellowBox = document.querySelector(".game-container");
var line = document.querySelector(".line");
yellowBox.addEventListener("mousemove", function (e) {
var r = e.clientX;
line.style.left = r + "px";
line.style.left = r + "px";
console.log("Black Line", line.getBoundingClientRect());
console.log("r", r);
})
我期望的结果是当我移动鼠标时变量r 与变量line 相同的结果。但是,这不是我得到的。当我移动缪斯时,这两个元素的位置是不一样的。如果检查两个控制台日志,这就是我得到的:
console.log("Black Line", line.getBoundingClientRect());:
console.log("r", r);
提前致谢!
我可以通过减去 console.log("r", r) 的结果差来修复它;和 console.log("Black Line", line.getBoundingClientRect().left) ;
的结果我不明白我为什么要做这个减法。如果有人有任何见解,请分享。