2

나는 이것을 묻는 방법을 모르지만 왼쪽에 세 개의 요소 (A, B, C)가 있고 세 개의 요소 (1, 2, 3)로 드래그 할 수있는 인터페이스를 만들려고합니다.).drappable으로 드래그 가능한 스냅을 만드는 방법, 스와핑을 허용 하시겠습니까?

왼쪽 항목을 삭제할 때 오른쪽 항목에 맞추기를 원하지만 다른 두 항목과 교환 할 수 있습니다.

오른쪽으로 스냅하려면 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

+0

실제로, 얼마 동안이 같은 것을 찾고있었습니다! 훌륭한 일 – Francois

관련 문제