Javascript Animate在Chrome和Firefox中表现出色(在IE中正常)

Javascript Animate在Chrome和Firefox中表现出色(在IE中正常),javascript,jquery,html,css,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); }); 保存图像的位置(并且可以正常工作)。 然后我设置它们的动画并移动它们。 然后我使用这个代码:

我使用以下代码:

$("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);
 });
保存图像的位置(并且可以正常工作)。 然后我设置它们的动画并移动它们。 然后我使用这个代码:

$("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添加到其中:

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

编辑:我看到了问题see offset(),它返回相对于文档的x,y,但当您将其设置回动画时,它是相对于父元素的(默认行为)。所以在文档中提到使用position()。这是相对于父元素的,我没有尝试过它,但是如果您使用它,它应该可以工作


最终编辑:是的,位置很好。你必须将它复制到测试页面中,因为它不能在小提琴上动画。你能举个例子吗?我可以看到HTML和CSS…但我看到图像:你的JSFIDLE不好,因为你没有在左面板“框架”中选择
jQuery
。。。当前选择的库是
Mootools
。以前从未使用过该站点,并且我的问题得到解决,我应该更新它以获取文档吗?现在检查它。顺便说一句,如果这是真的,我们如何解释当鼠标滚轮移动到它上面时它会移动到正确的位置?另外,请检查IE,因为IE 8以前的工作方式不正确。我检查过了,但它仍然可以正常工作,我想IE对偏移量的看法有所不同。(需要注意的是,我的父元素几乎是全宽的,全高的,类似于web2 ajax的web应用程序)没有人知道JSFIDLE是如何工作的吗?您必须从左侧的
Framework
面板中选择
jQuery
。您当前正在为
Mootools
设置。以前从未使用过该站点,并且我的问题得到解决,我是否应该更新它以获取文档?