Goanimate在Chrome和Firefox中表现得很奇怪(在IE浏览器中确定)

时间:2012-05-08 11:22:14

标签: javascript jquery html css

我使用此代码:

$("img.cloudcarousel").each(function(i, e){
  coords[i] = $(e).offset();
});

保存图像的位置(并且有效)。 然后我给它们制作动画并移动它们。 然后我使用这段代码:

 $("img.cloudcarousel").each(function(i, e){
   $(e).animate({top:coords[i].top, left:coords[i].left}, 1000);
 });

将它们动画回原来的位置。 在IE浏览器中(至少8个)它工作正常,但在Chrome和Firefox中,它向左和向下动画40-50像素(就像它过度动画一样)。

不要问我怎么发现这个:当我用鼠标轮转过来时,他们会去他们所属的地方!

我想它与动画队列的构建有某种关系,但是我只使用了四个图像,并且在x时间之后它不能自行修复,只能在鼠标轮上进行修复。

编辑:添加到jsfiddle.net

我不确定该网站是如何运作的,但我将HTML和JS添加到其中:

http://jsfiddle.net/3wqYg/

1 个答案:

答案 0 :(得分:3)

$(e).offset()不返回当前在小提琴中定义的值。我没有查找偏移的定义但是如果输出坐标,你会看到它与代码中的不一样

编辑:我看到问题见offset()http://api.jquery.com/offset/它返回相对于文档BUT的x,y,当你动画回来时它相对于父元素(默认行为)。所以在文档中提到了使用position()。这是相对于父元素,我没有尝试过,但如果你使用它,它应该工作。

最终编辑:对于位置,请参阅http://jsfiddle.net/3wqYg/1/,你必须将其复制到测试页面,因为它不会在小提琴上制作动画