要獲取鼠標在盒子中的位置,可以使用鼠標事件對象中的clientX和clientY屬性獲取鼠標在瀏覽器窗口中的坐標,再結(jié)合盒子元素的位置和大小計算出鼠標在盒子中的位置。
以下是一個示例代碼:
<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事件監(jiān)聽器。當(dāng)鼠標在盒子內(nèi)移動時,獲取鼠標在瀏覽器窗口中的坐標clientX和clientY,然后計算鼠標在盒子中的位置,最后打印輸出。