我有這個例子中jsfiddle如何在一組Div元素之間實現碰撞檢測?
我有一個變種作爲碰撞元件:
var $div = $('.container');
然後碰撞:
function test(){
$('.drag')
.drag("start",function(ev, dd){
dd.limit = $div.offset();
dd.limit.bottom = dd.limit.top + $div.outerHeight()
- $(this).outerHeight();
dd.limit.right = dd.limit.left + $div.outerWidth()
- $(this).outerWidth();
})
.drag(function(ev, dd){
$(this).css({
top: Math.min(dd.limit.bottom, Math.max(dd.limit.top, dd.offsetY)),
left: Math.min(dd.limit.right, Math.max(dd.limit.left, dd.offsetX))
});
});
}
爲:
<div class="container"></div>
<div class="drag xxx" style="left:40px;"></div>
<div class="drag xxx" style="left:120px;"></div>
<div class="drag xxx" style="left:200px;"></div>
這段代碼實現了碰撞檢測子div對容器div。我將如何實現碰撞檢測以使這3個div相互碰撞?
我想構建另一個div:var $divs = $('.xxx');
但我不知道如何在此示例中使用它。
通過「與自己相撞」,你的意思是「防止過度/不足」? – 2011-12-25 05:41:22
可能的重複[請推薦一個處理可拖動元素的碰撞檢測的JQuery插件](http://stackoverflow.com/questions/773717/please-recommend-a-jquery-plugin-that-handles-collision-detection-for -draggable) – 2011-12-25 05:43:02
w可以看到它們與'
'容器相撞,我也想與它們自己碰撞 – Patrioticcow 2011-12-25 05:48:06