2011-05-10 4 views
1

나는 jquery draggable/droppable을 containment와 helper 옵션으로 설정했습니다. 내가 뭘하고 싶은지 두 변수에 떨어 뜨린 항목의 상단 및 왼쪽 매개 변수를 저장하는 것입니다.Jquery draggable position - clone

다음 예에서 (새 문서 아이콘을 상자로 끌어다 놓음)이 작업을 수행했지만 다시보고 된 위치는 상위 DIV 대신 원래 아이콘에 상대적으로 표시됩니다. 아이콘과 드롭 가능 상자는 모두 절대 위치에 있습니다.

http://www.instructuk.com/drop.php

사람이 부모 대신 아이콘과 관련된 위치를 얻는 방법을 알고 있나요?

답변

8

당신은 계산 자신을해야 할 것이다 :

var 
    draggableDocumentOffset = ui.helper.offset(), 
    droppableDocumentOffset = $(this).offset(), 
    left = draggableDocumentOffset.left - droppableDocumentOffset.left, 
    top = draggableDocumentOffset.top - droppableDocumentOffset.top; 

alert('Item was dropped at - Left: ' + left + ', Top: ' + top); 
+0

감사합니다. Brian. – Rob

0

그것은 아마 가장 아름다운 솔루션 있지만하여 문서에있는 드롭의 위치를 ​​얻을 수 있습니다 :

x=event.pageX; 
y=event.pageY; 

그리고 x와 y에서 빼지하기 위해 droppble 영역의 좌표를 사용합니다.

dx=$("#droparea").offset().left;  
dy=$("#droparea").offset().top;  
var left=x-dx;   
var top=y-dy; 

K

+0

당신이 시작했을 때이 계산의 출력이 아이콘에 커서를 위치에 따라 변경되므로주의 끌기. – brianpeiris

+0

사실입니다. 당신의 솔루션이 훨씬 낫습니다. – kwicher