如何检测两个元素是否接触

How can I detect if two elements are touching

所以我想知道您是否可以测试两个相互接触的元素 运行 if 语句。我知道我是 javascript 的新手,我不像其他人那么了解,但我找不到如何测试两个元素接触的方法。

例如我希望它是这样的:

var el = document.getElementById("element1");
var el2 = document.getElementById("element2");

if (el1 touching el2) {
//code
//code
}

是的,我知道你不是这样做的,但我想知道是否有某种方法可以判断两个元素是否接触...

使用Element.getBoundingClientRect() to get their boxes. Then use a collision test, such as AABB,看看它们是否相交。

请注意,如果您对任一元素应用任何疯狂的旋转变换,我认为这不会起作用。