这个问题很难解释,所以我将首先提供代码,然后,在尽我所能描述问题的同时,我假设您已经比较了 Firefox 和任何其他浏览器中的结果。
代码: http: //jsfiddle.net/MEckv/(点击大框开始)
出于某种原因,盒子的左侧位置似乎在它们弹出之前被重置,让人感觉它们只是在左侧循环,而右侧的盒子只是改变颜色。不过,在 Firefox 中不会出现此问题。
我在代码中做了什么疯狂的事情吗?
先感谢您!
这个问题很难解释,所以我将首先提供代码,然后,在尽我所能描述问题的同时,我假设您已经比较了 Firefox 和任何其他浏览器中的结果。
代码: http: //jsfiddle.net/MEckv/(点击大框开始)
出于某种原因,盒子的左侧位置似乎在它们弹出之前被重置,让人感觉它们只是在左侧循环,而右侧的盒子只是改变颜色。不过,在 Firefox 中不会出现此问题。
我在代码中做了什么疯狂的事情吗?
先感谢您!
问题是您指定right: 0px;
然后尝试为特定的left
. 显然 Firefox 知道如何处理这个问题,但其他浏览器似乎不知道。
解决方案是将left
常量转换为常量或找到实际值(使用jQuery的)并使用它们设置框的样式,以便浏览器知道如何制作动画(只有第二种方法似乎工作得很好)。这是一个有效的小演示:little link。right
left
.offset().left
我希望这有帮助!
我已经有类似的问题。似乎 Firefox 将 left、top 等属性在不存在时设置为 0,我们使用它们,例如,为某些可拖动 div 设置动画left: 100
或left: 0
将其top
与另一个 div 进行比较(其中未指定 top)。因此,当您需要使用它们时,只需尝试将默认值设置为左侧、顶部等。似乎我们不能假设这些值会在 Firefox 以外的其他浏览器中使用默认值(如 0)进行初始化。