JQuery 可拖动 - 无重叠

发布于 2024-09-14 04:23:05 字数 83 浏览 4 评论 0原文

是否可以说“可拖动的 div -> 没有重叠”?

我认为主要问题是位置:绝对; ... 正确的?

亲切的问候 彼得

is it possible to say "draggable div's -> no overlap" ?

I think the mainproblem is the position:absolute; ... right?

kind reagards
Peter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

骄兵必败 2024-09-21 04:23:05

您可以尝试 jquery-collision 加上 jquery-ui-draggable-collision。全面披露:我刚刚在 sourceforge 上编写并发布了这些内容。

第一个允许这样做:

var hit_list = $("#collider").collision(".obstacle");

这是与“#collider”重叠的所有“.obstacle”的列表。

第二个允许:

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

它为您提供(除其他外)一个要绑定的“碰撞”事件:

$("#collider").bind( "collision", function(event,ui){...} );

您甚至可以设置:

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

以防止“#collider”在拖动时与任何“.obstacle”重叠。

You can try jquery-collision plus jquery-ui-draggable-collision. Full disclosure: I just wrote and released these on sourceforge.

The first allows this:

var hit_list = $("#collider").collision(".obstacle");

which is the list of all ".obstacle" that overlap "#collider".

The second allows:

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

Which gives you (among other things), a "collision" event to bind to:

$("#collider").bind( "collision", function(event,ui){...} );

And you can even set:

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

to prevent "#collider" from ever overlapping any ".obstacle" while dragging.

瑾夏年华 2024-09-21 04:23:05

jQuery UI Draggable 中没有用于碰撞检测的内置函数,除非您实际上在排序之类的事情之后。与您想要的最接近的内置内容是 sortable 的 plceholder,看起来像这样

简而言之,每个拖动元素的碰撞检测在性能方面并不是微不足道的(取决于元素的数量),因此它被排除在库之外,因为这是一个非常罕见的请求。但是,您可以在 draggable 的 drag 事件内自行计算碰撞 如果您确实需要碰撞检测。

There isn't a built-in function for collision detection in jQuery UI draggable, unless you're actually after something like sorting. The closest thing that's built-in to what you want is sortable's plceholder, which looks like this.

The short version is collision detection with every dragged element isn't trivial in terms of performance (depending on the number of elements), so it's left out of the library since it's a very rare request. You could however calculate the collisions yourself inside the draggable's drag event if you really do need the collision detection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文