2013-08-06 139 views
0

的元素位置的基礎我有2格,小格(可拖動)大格JQuery的找其他元素

我需要從大格左上角找到小格位置計數,而不是從頁面內。

大格位置可以是任何地方。(因爲頁面佈局)

<div id='big'> 
<div id='small'></div> 
</div> 

因此,如果用戶沒有拖動小格,位置將返回0,0

var top=$('#small').position().top; 
alert(top); 

我現在已經是從頁從大格返回原來位置,不會

http://jsfiddle.net/B72mQ/1/

+0

做出的jsfiddle .. –

+0

給我一秒鐘,讓我現在 – Ben

+0

http://jsfiddle.net/B72mQ/1/ – Ben

回答

1

DEMO

$(document).ready(function() { 
    $('#small').draggable({ 
     containment: "parent" 
    }); 
    $('#click').click(function() { 
     var rel_top = $("#small").css('top'); 
     var rel_left = $("#small").css('left'); 
     alert(rel_top + ', ' + rel_left); 
    }); 
}); 
+0

很多,它解決了我的問題! – Ben

0
$('#small').offset().top 

您是否嘗試使用偏移量?

+0

我試過了,還是回到頁面位置 – Ben

+0

的回答以上由@Vanga應該修復這一切! –

0

在jQuery中獲取元素的位置,我們有兩個選擇

偏移()

這始終是相對於文檔。

位置()

這始終是相對於所述元件的偏移父。

抵消父母:是當前元素的父級,它沒有位置值 - 靜態。它可以有任何其他的位置值。

在你的情況下,將position:relative添加到大div。

CSS代碼

#big { position : relative; } 

然後position()會給相對於大格小格的位置。

+0

當我用戶jQuery可拖動,它返回0,即使我拖動它,jsfiddle.net/B72mQ/1 – Ben