6

重複の可能性:
2つのdivがjqueryに接触しているかどうかを検出する方法は?

2つのdivがオーバーラップしているかどうかを検出する方法を理解するために多くの時間を費やしました。
gamequeryプラグインを試し、次のように使用しました。

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

gamequeryプラグインを使用しますか、および/またはどのように使用しますか?

4

2 に答える 2

16

各要素で使用getBoundingClientRect()し、それらがそのように重なっているかどうかを確認します。jQueryは必要ありません。

于 2012-12-23T16:58:13.703 に答える
7

ここにはすでに答えのあるクエリがあります:2つのdivがjqueryに接触しているかどうかを検出する方法は?

参考までに、ここにコードをコピーします。

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;
    }
于 2012-12-23T16:55:28.950 に答える