2011-05-10 173 views
1

我有jquery draggable/droppable處理包含和幫助程序選項集。我想要做的是將放置項目的頂部和左側參數存儲在兩個變量中。jquery可拖動的位置 - 克隆

我已經在下面的例子中實現了這一點(將新文檔圖標拖入框中),但是返回的位置是相對於原始圖標而不是父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 2011-05-11 08:02:33

0

它也許不是最漂亮的解決方案,但你可以得到降的位置在文件中:

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

然後使用droppble區域的座標從x和y來。減去。

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

ķ

+0

注意,這個計算的輸出將改變基於這樣您將光標的圖標,當你開始拖動。 – brianpeiris 2011-05-10 17:05:33

+0

的確如此。你的解決方案要好得多。 – kwicher 2011-05-10 17:27:16