ホームページ > 記事 > ウェブフロントエンド > JavaScript と jQuery を使用して 2 つの Div 間の衝突を検出するにはどうすればよいですか?
2 つの DIV 間の衝突を検出する方法
Web ページ上で動的要素を操作する場合、DIV 間の衝突を検出できることが不可欠です。彼ら。この例では、互いに垂直に移動する 2 つの単純な色付き div を扱います。
解決策:
div が衝突するかどうかを判断するには、次のようにします。 JavaScript と jQuery ライブラリを活用します。解決策の内訳は次のとおりです。
コード例:
var overlaps = (function () { function getPositions(elem) { var pos, width, height; pos = $(elem).position(); width = $(elem).width(); height = $(elem).height(); return [[pos.left, pos.left + width], [pos.top, pos.top + height]]; } function comparePositions(p1, p2) { var r1, r2; r1 = p1[0] < p2[0] ? p1 : p2; r2 = p1[0] < p2[0] ? p2 : p1; return r1[1] > r2[0] || r1[0] === r2[0]; } return function (a, b) { var pos1 = getPositions(a), pos2 = getPositions(b); return comparePositions(pos1[0], pos2[0]) && comparePositions(pos1[1], pos2[1]); }; })(); $(function () { var area = $("#area")[0], box = $("#box0")[0], html; html = $(area) .children() .not(box) .map(function (i) { return '<p>Red box + Box ' + (i + 1) + ' = ' + overlaps(box, this) + '</p>'; }) .get() .join(''); $('body').append(html); });
このソリューションは、垂直方向間の衝突を検出するのに効率的かつ正確です。ディビジョンの移動。ゲームやシミュレーションなど、さまざまなインタラクティブな Web アプリケーションに便利なツールを提供します。
以上がJavaScript と jQuery を使用して 2 つの Div 間の衝突を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。