2

我不知道該怎麼問,但我正在創建一個界面,左邊有三個元素(A,B,C),並且可以拖動到右邊的三個元素(1,2,3 )。如何使可拖動的可拖動,允許交換?

我想讓左側物品在掉落時對齊到正確的物品,但可以與其他兩個物品互換。

我可以讓A,B和C快速移動到右側,但似乎無法使它們能夠交換。如果我將ui.draggable.position設置爲下降,那麼我無法弄清楚如何重新排列它們。我試過克隆和刪除它們無濟於事,最後我得到了一些錯誤。

我有這個至今:提前http://jsfiddle.net/7xFsr/13/

謝謝!

回答

5

我知道我有一個特定的問題,但這裏是我的解決方案。最後想出瞭如何操縱jQuery UI position()功能。

我創建了一個數組,它包含了每個起始節點的ID以及它們的包裝器(以恢復位置)。

放下,我有一個方法通過數組,並找出是否有任何東西放在那個位置。如果沒有,沒問題。如果是這樣,返回到數組中,找到當前正在刪除的項目並獲取其以前的容器。選擇已經存在的位置並將其位置更改爲當前位置,並將當前位置置於當前空位置。

類令人費解,但我的工作了使用相同的jsfiddle:http://jsfiddle.net/7xFsr/35/

希望這可以幫助別人!

+0

這是一個非常漂亮的代碼示例。感謝分享(+1):) – Boro 2012-11-07 13:44:51

+0

確實,一直在尋找這樣的事情一段時間!做得好 – Francois 2013-08-15 15:53:52