Как сделать перетаскиваемую привязку к сбросу, разрешить обмен?
Я не уверен, как спросить это, но я ищу, чтобы создать интерфейс, где три элемента существуют слева (A, B, C) и могут быть перетащены на три элемента справа (1, 2, 3).
Я хотел бы, чтобы левый элемент при выпадении привязывался к правому элементу, но затем был бы взаимозаменяемым с двумя другими элементами.
Я могу заставить A, B и C привязываться к правой стороне, но не могу заставить их поменяться местами. Если я установлю ui.draggable.position
на капле, то я не могу понять, как переставить их справа. Я попытался клонировать и удалить их безрезультатно, в итоге я получил ошибку.
У меня есть это до сих пор: http://jsfiddle.net/7xFsr/13/
Заранее спасибо!
1 ответ
Я знаю, что у меня есть конкретная проблема, но вот мое решение. Наконец выяснили, как манипулировать пользовательским интерфейсом jQuery position()
особенность.
Я создал массив, который содержал идентификаторы каждого начального узла, а также их обертки (чтобы изменить положение).
При отбрасывании у меня был метод пройти через массив и выяснить, есть ли что-нибудь отброшенное в этой позиции. Если нет, нет проблем. Если это так, вернитесь в массив и найдите текущий элемент, который был отброшен, и получите его предыдущий контейнер. Выберите уже существующее и измените его положение на предыдущее положение текущего, и поместите текущее в пустую позицию.
Вроде запутанно, но я решил, используя тот же jsfiddle: http://jsfiddle.net/7xFsr/35/
Надеюсь, это поможет кому-то!