此问题已在此处找到答案:
jquery/javascript冲突检测(7个答案)
5年前关闭。
我有两个div元素。每个都有450像素的宽度和高度。如何检查第一个div是否与第二个div重叠?
我尝试过使用javascript hittest,但它有点复杂。由于我试图了解它实际上是如何工作的,所以我想从一个更简单的代码开始。
我发现我可以使用.getClientries来获取元素的边界,但我不确定如何比较边界。
请告诉我!
此问题已在此处找到答案:
jquery/javascript冲突检测(7个答案)
5年前关闭。
我有两个div元素。每个都有450像素的宽度和高度。如何检查第一个div是否与第二个div重叠?
我尝试过使用javascript hittest,但它有点复杂。由于我试图了解它实际上是如何工作的,所以我想从一个更简单的代码开始。
我发现我可以使用.getClientries来获取元素的边界,但我不确定如何比较边界。
请告诉我!
4条答案
按热度按时间s1ag04yj1#
像这样的东西
rect1
及rect2
通过getboundingclientrect()检索:解释:如果括号中的一个或多个表达式
true
,没有重叠。如果都是false
,必须有重叠。hi3rlvi22#
这是我几天前做的东西:https://gist.github.com/yckart/7177551
fnatzsnv3#
getboundingclientrect()在现代浏览器中非常好,提供了相对于屏幕的边界。看这里,然后测试边界框是否重叠,这是简单的几何体。。。
哦,对不起。。。发现你的编辑太晚了。。。
mzaanser4#
在早于版本8的internet explorer中,返回的textrectangle对象包含物理像素大小的坐标,而在版本8中,它包含逻辑像素大小的坐标。
如果需要整个元素的边框,请使用getboundingclientrect方法。