Javascript 请推荐一个JQuery插件,用于处理可拖动元素的冲突检测

Javascript 请推荐一个JQuery插件,用于处理可拖动元素的冲突检测,javascript,jquery,plugins,draggable,collision,Javascript,Jquery,Plugins,Draggable,Collision,我们正在使用jQueryUI插件,需要禁止元素之间的重叠。我们可以自己编写一些碰撞检测,但更愿意使用经过测试的软件包。有什么建议吗 谷歌告诉我,JQuery插件gameQuery具有“冲突”功能: 在上面的页面上搜索“碰撞”一词 此谷歌搜索可以为您提供两个其他选项: 快速搜索jQuery插件: 看起来还早,但可能值得一看。假设,但我认为您需要的信息可以在这里找到: 它使用jQuery著名的$.event.special.drag创建删除事件。您可以将自己的javascript代码放在 .b

我们正在使用jQueryUI插件,需要禁止元素之间的重叠。我们可以自己编写一些碰撞检测,但更愿意使用经过测试的软件包。有什么建议吗

谷歌告诉我,JQuery插件gameQuery具有“冲突”功能:

在上面的页面上搜索“碰撞”一词

此谷歌搜索可以为您提供两个其他选项:


快速搜索jQuery插件:


看起来还早,但可能值得一看。

假设,但我认为您需要的信息可以在这里找到:

它使用jQuery著名的$.event.special.drag创建删除事件。您可以将自己的javascript代码放在
.bind(“drop”,函数(事件){
此函数中的this元素表示具有已定义的类“drop”的对象,event.dragTarget是正在拖动的对象


上面链接了更多的文档。这正是我所需要的。

我知道这个问题已经很老了,但也许你会发现这个问题很有用:我们的

描述是用德语写的,但应该是不言自明的。你可以使用两个单独的元素,甚至是一组元素,然后会得到一组所有冲突的元素。

你可以试试plus。完全披露:我刚刚在sourceforge上写下并发布了这些元素

第一种方法允许:

var hit_list = $("#collider").collision(".obstacle");
这是所有重叠的“.障碍物”#碰撞器”的列表

第二个允许:

$("#collider").draggable( { obstacle: ".obstacle" } );
这将为您(除其他外)提供一个要绑定到的“碰撞”事件:

$("#collider").bind( "collision", function(event,ui){...} );
您甚至可以设置:

$("#collider").draggable( { obstacle: ".obstacle", preventCollision: true } );

为了防止“#collider”在拖动时与任何“.障碍物”重叠。

我刚刚下载了你的collider脚本,这太棒了!我该如何创建一个在悬停状态下增长的div网格,并让其他(未悬停)div随着悬停状态下div的增长而收缩?谢谢你的回答。我正在尝试实现这个效果().正如你所看到的,当一个盒子变大时,其他的盒子会缩小以适应它的大小。我认为碰撞检测是最好的方法,因为我需要盒子按照你的插件可以检测到的一个盒子的增长方向收缩(N、S、E和W)。我试图在我的项目中实现您的“jquery ui可拖动冲突”,但我在第一次加载您的文件时出错,我猜我使用的是jquery 1.6.4和jqueryui-1.8.16,而在您的示例代码中,您使用的是jquery1.5.1。您能告诉我这是否是它不适用于我的原因吗?谢谢。此外,此请求是在另一个线程上提出的,仅供参考。啊,好的,谢谢你的指点