jQuery拖动;重新订购

时间:2013-04-12 20:10:13

标签: jquery draggable jquery-ui-draggable jquery-ui-droppable

我有一些拖放,当一个人将物品拖到掉落区域时,我将要发生的是剩下的可拖动物移动到开放区域。例如:

{A} {1}

{B} {2}

{C} {3}

如果你将{3}拖到{B},它会锁定到{B},然后{2}应该向下移动到{C}所在的位置......

任何想法如何实现这一目标? ALSO * * 可拖动对象必须捕捉/锁定到可放置区域。

1 个答案:

答案 0 :(得分:0)

好的,所以我终于找到了一个有效的解决方案。如果有人对此感兴趣,那就是我所做的:

首先,我创造了一堆拖拽和放大器。下降。每个可拖动对象都有一个可放置的区域。然后,为了定位draggables,我创建了一个变量来存储不同的位置(基于obj高度和边距等等。可拖动的位置是绝对的,这是基于父DIV完成的。所以当我稍后获得位置时,我可以使用它们来重新定位对象。

然后,我为droppables创建了一个drop函数,这样一旦一个对象被删除,它将记录对象被丢弃的位置并将其放入已经被占用的位置数组中。因此,如果我在[步骤2]上放下了一些东西并且它从顶部向下倾斜了220px,那么我将其记录在数组中。然后,在此之后,我检查所有对象以查看哪些对象已被删除。所以我知道我允许移动哪些物体。

现在我有可以移动的对象和可用的位置。然后,我只需浏览未打开的开放点和对象列表,只需将它们替换为打开位置即可。而不是试图只重新定位元素。我基本上重新定位一切,无论开始时是否正常。

我希望这有助于某人。