Javascript 检测两个div是否重叠

Javascript 检测两个div是否重叠,javascript,jquery,html,collision,gamequery,Javascript,Jquery,Html,Collision,Gamequery,可能重复: 我花了很多时间试图找出如何检测两个div是否重叠。 我尝试了gamequery插件,使用方式如下: $("#" + checkform).collision("#" + checkform + "w").each(function(){ alert("Collision"); }); 您会使用gamequery插件和/或如何使用它?这里已经有一个查询,有一个答案: 为了便于参考,我将代码复制到这里: function collision($div1, $div2) {

可能重复:

我花了很多时间试图找出如何检测两个div是否重叠。
我尝试了gamequery插件,使用方式如下:

$("#" + checkform).collision("#" + checkform + "w").each(function(){
    alert("Collision");
});

您会使用gamequery插件和/或如何使用它?

这里已经有一个查询,有一个答案:

为了便于参考,我将代码复制到这里:

function collision($div1, $div2) {
      var x1 = $div1.offset().left;
      var y1 = $div1.offset().top;
      var h1 = $div1.outerHeight(true);
      var w1 = $div1.outerWidth(true);
      var b1 = y1 + h1;
      var r1 = x1 + w1;
      var x2 = $div2.offset().left;
      var y2 = $div2.offset().top;
      var h2 = $div2.outerHeight(true);
      var w2 = $div2.outerWidth(true);
      var b2 = y2 + h2;
      var r2 = x2 + w2;

      if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
      return true;
    }
函数冲突($div1,$div2){
var x1=$div1.offset().left;
变量y1=$div1.offset().top;
var h1=$div1.outerHeight(true);
var w1=$div1.外径(真);
var b1=y1+h1;
var r1=x1+w1;
var x2=$div2.offset().left;
变量y2=$div2.offset().top;
var h2=$div2.outerHeight(真);
var w2=$div2.外径(真);
var b2=y2+h2;
var r2=x2+w2;
如果(b1b2 | r1r2)返回false;
返回true;
}

对每个元素使用
getBoundingClientRect()
,查看它们是否以这种方式重叠。不需要jQuery。

我希望您将此问题标记为另一个问题的重复。