Firefox 7.0.1上的Jquery动画滞后

有谁知道为什么这个非常简单的jquery动画在Chrome等浏览器中完美运行,似乎在Firefox 7.0.1中被窃听? 这是动画的链接 。 如果你在Firefox中尝试它,你会看到动画有时冻结然后重新启动。 正如您所看到的,代码非常简单,只有一个动画,没有图像和内联CSS。

HTML:

JS:

 $(document).ready(function () { to_move=$('#slider'); to_move.animate({ top: "-1000px" }, 15000,'linear'); }); 

谢谢你的帮助。

你所看到的是Firefox的垃圾收集器每隔一段时间都在踢。

通过Dave Mandelin的博客 :

关于GC的背景如果您不熟悉:当JavaScript程序运行时,它会创建占用内存的对象,数组,字符串和函数。 为了不耗尽所有内存和崩溃,JS引擎必须能够自动发现哪些对象不再使用(因此它们现在是“垃圾”)并将它们释放。 这个“自动内存回收”子系统称为垃圾收集器或GC。)

暂停的原因是SpiderMonkey使用了一个老派的世界标记和扫描收集器

计划对Firefox的GC进行了大量改进,但尚未实施 – 请参阅该链接以获取更多信息。

我不太了解jquery的内部工作原理,但我认为它正在为该div使用resize事件。 Firefox处理resize的事件很糟糕,我不确定是否有办法解决它。 以下是一些更多信息: http : //www.quirksmode.org/dom/events/resize.html