尝试找到给定两个元素节点的函数或实现,我们知道它们在给定偏移量和宽度/高度的情况下重叠,哪个在顶部。很难说,因为在给定 z-index 或位置的情况下,我们不知道哪个在顶部。
我试过使用 document.elementFromPoint()
,但它只显示给定坐标处的最顶层节点,我只想在层之间进行检查。例如,给定三层,div1
、div2
、div3
,其中 div1
位于最顶层,我想要查看 div2
或 div3
之间,哪个在最上面。
请记住,我不想检查它们是否重叠——我知道这一点。我想检查哪个与另一个重叠。
是否有一个功能已经可以做到这一点,所以我不必重新发明轮子?或者我错过了什么?提前致谢。
最佳答案
如果它们没有 z-index,那么它们将按顺序呈现(假设它们都已定位)。所以,如果 div1 在 div2 之后,div1 将在最前面。看这里:Stacking without z-index
鉴于此,您应该能够根据其他 div 是否在 $(element).prevAll()
中来检查顺序。或者,按 $(element).prevAll().length
对它们进行排序(较高的数字在顶部)。
关于javascript - 在 Javascript 中,给定两个重叠的元素,如何判断哪个在另一个之上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38111444/