要获取鼠标在盒子中的位置,可以使用鼠标事件对象中的clientX和clientY属性获取鼠标在浏览器窗口中的坐标,再结合盒子元素的位置和大小计算出鼠标在盒子中的位置。
以下是一个示例代码:
<div id="box" style="width: 300px; height: 200px; border: 1px solid #000;"></div>
<script>
const box = document.getElementById('box');
box.addEventListener('mousemove', function(event) {
const mouseX = event.clientX;
const mouseY = event.clientY;
const boxX = box.offsetLeft;
const boxY = box.offsetTop;
const boxWidth = box.offsetWidth;
const boxHeight = box.offsetHeight;
const mouseXInBox = mouseX - boxX;
const mouseYInBox = mouseY - boxY;
if (mouseXInBox >= 0 && mouseXInBox <= boxWidth &&
mouseYInBox >= 0 && mouseYInBox <= boxHeight) {
console.log('Mouse position in box: ', mouseXInBox, mouseYInBox);
}
});
</script>
该代码中,我们使用document.getElementById()方法获取盒子元素,然后添加了一个mousemove事件监听器。当鼠标在盒子内移动时,获取鼠标在浏览器窗口中的坐标clientX和clientY,然后计算鼠标在盒子中的位置,最后打印输出。