0

我有一些拖放的,当一个人拖动某项到拖放区域我会有发生的是对剩余的拖拽元素移动到空旷地方。例如:jQuery的拖放掇重新排序

{A} {1}

{B} {2}

{C} {3}

如果拖动{3}多达{B}它将锁定到{B},然后{2}应该向下移动到{C}是...

任何想法如何做到这一点? ALSO * *可拖动对象必须捕捉/锁定到可拖放区域。

+0

@roasted ahh很好的捕获。 –

+0

定位代码如何改变任何东西?这是不同的,因为它使用拖放不排序... – user1470118

+0

如果你没有答案为什么发布?我正在寻找有答案的人......为排序提供的解决方案不起作用。所以,我试图使用拖放。如果您没有可行的答案,请停止发送垃圾邮件。 – user1470118

回答

0

好的,所以我终于能够找出一个工作解决方案。如果有人有兴趣在这里是我所做的:

首先,我创建了一堆阻力&滴。每个可拖动对象都有一个可放置区域。然后,为了定位可拖动的元素,我创建了一个变量来存储不同的位置(基于obj高度和边距等)。可拖动元素具有绝对位置,这是基于父DIV完成的。当我到达的位置后,我可以用它们来重新定位对象。

然后,我创建了一个降功能为droppables因此,一旦一个对象被删除,它会记录下物体掉了它放入一个所以如果我在[步骤2]上放下了一些东西,并且它从顶部向下放置了220px,那么我将它记录在数组中,然后,紧接着这一步,我检查所有对象以查看哪些已被丢弃,以便我知道哪些物体可以移动

现在我有可以移动的对象以及可用的位置。然后,我只需在尚未移动的空白点和对象列表中移动,并简单地将它们替换为打开的位置即可。而不是试图只重新定位元素。不管开头是否好,我基本上都会重新定位。

我希望这可以帮助别人。