问题是有两个 div,一个比另一个大。大的一直在移动,想知道小的什么时候会在大的坐标区。我使用这段代码,但输出到处都是空的。为什么会这样。
let boxBig = document.querySelector(".boxBig ");
let y = 50;
let x = 20;
setInterval(() => {
boxBig.style.top = (parseInt(boxBig.style.top) || 0) + y + "px";
let elem = document.elementFromPoint(y, x);
let res = elem.closest(".boxSmall");
console.log(res);
}, 1000);
.boxBig {
width: 100px;
height: 100px;
top: 50px;
padding: 2px;
border: 5px solid black;
position: absolute;
}
.boxSmall {
border: 5px solid rgb(231, 26, 91);
position: fixed;
width: 40px;
height: 40px;
top: 400px;
left: 30px;
}
<div class="boxBig"></div>
<div class="boxSmall "></div>
问题是坐标不正确:
x和ynull。要解决这个问题,只要改变被检查的点和大方块的坐标就可以了,并且选择这样的坐标,使点在移动时仍然可以进入小方块内