2014-10-01 248 views
0

如何獲取元素相對於其父元素的位置?獲取元素相對於其父元素的相對位置

讓我們假設我們有一個名爲「克隆」的圖像對象,一個div作爲其父:

var parent = clone.parent().offset(); 
var pos = clone.offset(); 

如果我拖動圖像就在div的左上角我會得到的結果幾乎相同的值。但如果我這樣做:

var top = pos.top - parent.top; 
var left = pos.left - parent.left; 

它會給我的圖像相對於其父母的位置,對不對?但是如果我必須存儲這些值並將它們顯示在不同的瀏覽器大小上,會發生什麼? 答案很簡單,他們不會在div內顯示,因爲位置可能會改變。

經過這個小小的解釋,我的問題是: 有沒有辦法避免這種問題,並直接把它的相對位置給它的父母?

這是我使用的實際代碼,所以你可以看看,並試圖找出如何使它正常工作! http://dpaste.com/3M1MGQW

+1

看看'.POSITION()':http://api.jquery.com/位置/ – friedi 2014-10-01 20:40:54

+0

如果問題與尺寸有關,您不能使用基於百分比的位置?難以理解的更高級別的問題沒有一個演示,如在jsfiddle.net – charlietfl 2014-10-01 20:45:35

回答

0

你有沒有設置位置:相對;對父母這樣的立場是相對於它?

那麼,任何其他possitioning塔靜態的工作,但相對沒有specifing上邊和左邊可能是最無痛

+0

我已經設置了父母的相對位置,但我得到了不同的值,它是相當可笑的.. – 2014-10-01 21:00:02

+0

通過你的代碼後唯一的事情我看到我會改變的是$(this).append(clone);在第48行中,通過id直接訪問容器$(「#container_map」)。append(clone); – 2014-10-01 21:17:26

+0

有沒有必要改變它,因爲它被稱爲它:) – 2014-10-01 22:04:14

相關問題