2012-03-13 98 views
0

我遇到了jquery和position()的问题。jquery position()问题

我想将文本元素<div id="text">置于事件的另一个元素上。 其他元素看起来是这样的:

<div id=pic><img src=pic.jpg></div> 

我使用它定位了jQuery是这样的:

var pos = $('#pic').offset(); 
$('#text').animate({ top: pos.top, left: pos.left }, 0); 

现在由于某种原因是越来越显示方式进一步转移到右侧#text并低于实际的img分区。

任何想法是什么造成这种情况?

+0

一个例子,像一个jsFiddle,会有所帮助。 – j08691 2012-03-13 18:36:27

回答

1

请问#text有没有position: absolute?动画topleft属性将不会产生预期的效果。 .offset返回相对于文档的topleft,但.animate修改topleft样式属性,这些属性取决于position属性。

+0

谢谢,难怪 – user1022585 2012-03-13 18:56:23