【发布时间】:2011-12-25 05:31:45
【问题描述】:
我在jsfiddle有这个例子
我有一个 var 作为碰撞元素:
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');,但我不确定如何在此示例中使用它。
【问题讨论】:
-
“与自身发生碰撞”是指“防止重叠/重叠”吗?
-
w 可以看到它们与
<div class="container"></div>容器发生碰撞,我也想与它们自身发生碰撞
标签: jquery collision-detection