除Firefox之外,所有浏览器中的jQuery动画都失败

时间:2012-08-25 16:05:46

标签: jquery css jquery-animate

这个问题很难解释,所以我先提供代码,然后在尽可能最好地描述问题的同时,我假设您已经在Firefox和其他任何浏览器中对比了结果。

代码:http://jsfiddle.net/MEckv/(点击大框开始)

出于某种原因,似乎盒子的左侧位置在弹出之前被重置,使得感觉它们只是在左侧循环而右侧盒子只是改变颜色。但是,在Firefox中不会出现此问题。

我在代码中做过一些疯狂的事吗?

提前谢谢!

2 个答案:

答案 0 :(得分:2)

问题在于您指定right: 0px;,然后尝试设置特定left的动画。显然Firefox知道如何处理,但似乎没有其他浏览器。

解决方案是将您的left常量转换为right找到实际的left值(使用 jQuery ' s .offset().left)并使用它们设置框的样式,以便浏览器知道如何设置动画(只有第二种方法似乎完美无缺)。这是一个有用的小演示:little link

我希望有所帮助!

答案 1 :(得分:0)

我已经有类似的问题了。似乎Firefox在不存在时将left,top等属性设置为0,并且我们使用它们,例如,将left: 100设置为left: 0或者比较一些可拖动的div {{1另一个div(未指定top)。因此,当您需要使用它们时,只需尝试将默认值设置为left,top等。似乎我们不能假设这些值会在Firefox之外的其他浏览器中使用默认值(如0)进行初始化。

相关问题