如何使用 JavaScript 检测重叠的 HTML 元素?
我有一个元素列表 ( <ul>
)。它使用 JavaScript 上下滑动。当它向下滑动时,根据item的数量,它可能会覆盖另一个元素( <div>
),此时是绝对定位的(可以更改)。
我如何检测,何时 <ul>
与此重叠 <div>
, 将新样式应用于 <div>
暂时隐藏它还是将它向下移动一点,以防止重叠?
只是看起来不太好,当它们重叠时))
在这里你可以看到,我在说什么:http://timetable.raj.fvds.ru/
非常感谢!
最佳答案
function isObjOnObj(a,b){
var al = a.left;
var ar = a.left+a.width;
var bl = b.left;
var br = b.left+b.width;
var at = a.top;
var ab = a.top+a.height;
var bt = b.top;
var bb = b.top+b.height;
if(bl>ar || br<al){return false;}//overlap not possible
if(bt>ab || bb<at){return false;}//overlap not possible
if(bl>al && bl<ar){return true;}
if(br>al && br<ar){return true;}
if(bt>at && bt<ab){return true;}
if(bb>at && bb<ab){return true;}
return false;
}
关于javascript - 如何使用 JavaScript 检测元素重叠(重叠)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720837/