2014-10-01 187 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

相关问题