javascript - 在 Javascript 中,给定两个重叠的元素,如何判断哪个在另一个之上?

标签 javascript jquery html css

尝试找到给定两个元素节点的函数或实现,我们知道它们在给定偏移量和宽度/高度的情况下重叠,哪个在顶部。很难说,因为在给定 z-index 或位置的情况下,我们不知道哪个在顶部。

我试过使用 document.elementFromPoint(),但它只显示给定坐标处的最顶层节点,我只想在层之间进行检查。例如,给定三层,div1div2div3,其中 div1 位于最顶层,我想要查看 div2div3 之间,哪个在最上面。

请记住,我不想检查它们是否重叠——我知道这一点。我想检查哪个与另一个重叠。

是否有一个功能已经可以做到这一点,所以我不必重新发明轮子?或者我错过了什么?提前致谢。

最佳答案

如果它们没有 z-index,那么它们将按顺序呈现(假设它们都已定位)。所以,如果 div1 在 div2 之后,div1 将在最前面。看这里:Stacking without z-index

鉴于此,您应该能够根据其他 div 是否在 $(element).prevAll() 中来检查顺序。或者,按 $(element).prevAll().length 对它们进行排序(较高的数字在顶部)。

关于javascript - 在 Javascript 中,给定两个重叠的元素,如何判断哪个在另一个之上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38111444/

相关文章:

html - 调整标题标签内的图像大小

javascript - Select2 显示 ajax 请求错误

javascript - 更改 JavaScript 中的日期格式

PHP Scraped 内容在底部加载

javascript - 如何从文本字段中的日期选择器获取值

jquery - 如何使用 jQuery 替换 CSS 背景中的图像?

HTML/CSS - 设计大量超链接的样式?

javascript - 使用 key 唯一标识每个元素并将 props 更改为 ReactJS 中的该元素

javascript - 在 tesseract.js 中加载离线 lang 数据

javascript - 将 d3 与 URL 查询字符串一起使用