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

标签 javascript dom element

所以我想知道您是否可以运行 if 语句来测试两个元素是否相互接触。我知道我对 javascript 很陌生,而且我不像其他人那么了解,但我不知道如何测试两个元素的接触。

例如,我希望它是这样的:

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

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

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

最佳答案

使用Element.getBoundingClientRect()去拿他们的盒子。然后使用碰撞测试,如AABB ,看看它们是否相交。

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

关于javascript - 如何检测两个元素是否接触,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37472799/

相关文章:

javascript - 在 JavaScript 中测试稀疏数组元素的存在?

html - 在vba中按顺序获取html标签

css - 如何在css中访问元素内的元素?

javascript - 使用 Browserify 时使我的 Vue 实例成为全局实例,以便开发人员工具可用

javascript - 比 iframe 更好的替代品来显示选项卡内容?

java - DOM模型中html的标签

jQuery Mobile - 如何将表单提交到 URL 并转换到 DOM 内的另一个页面?

javascript - 如何从元素中获取带有换行符的文本(jquery)

javascript - onBeforeUnload 突然无法按预期工作

javascript - 如何映射输入字段的动态数组