可能重複:
How to detect if two divs touch with jquery?檢測兩個div是否重疊
我花了很多時間試圖找出如何檢測,如果兩個div重疊。
我試過gamequery插件,並用它這樣的:
$("#" + checkform).collision("#" + checkform + "w").each(function(){
alert("Collision");
});
你可以使用gamequery插件和/或你會怎麼做呢?
可能重複:
How to detect if two divs touch with jquery?檢測兩個div是否重疊
我花了很多時間試圖找出如何檢測,如果兩個div重疊。
我試過gamequery插件,並用它這樣的:
$("#" + checkform).collision("#" + checkform + "w").each(function(){
alert("Collision");
});
你可以使用gamequery插件和/或你會怎麼做呢?
已經有這裏有一個答案查詢:How to detect if two divs touch with 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;
}
每個元素上使用getBoundingClientRect()
,看看它們重疊的方式。不需要jQuery。
我希望你把這個問題標記爲另一個的重複。 –
是的,所以.... – Amar