该GIF的奇怪之处在于,在Firefox(v9&10)中它的旋转速度是MSIE(v7&9)中的两倍。 。
为什么动画速度会根据浏览器而变化?
#1 楼
您的GIF动画包含40帧,每帧之间指定0.03秒的延迟。这应该使每个循环的标称运行时间为1.2秒,这与我在Firefox中看到的相符。问题似乎是许多浏览器会忽略非常短的每帧延迟,而将其替换为默认值延迟(通常为0.1秒)。不同浏览器之间的“非常短”延迟的截止时间有所不同:Firefox显然接受每帧0.02秒以下的任何内容,而IE忽略每帧0.06秒以下的延迟。
我的建议是增加每-frame延迟到0.06秒(如果希望动画快速运行,则每隔一帧删除一次)。这样可以在所有主流浏览器中保持一致的速度。
编辑:我去为您做了。这是动画的两个版本,每帧0.06秒:快速(20帧,1.2秒/循环)和慢速(40帧,2.4秒/循环)。我还使用Gifsicle优化了动画,因此它们比原始动画要小很多。
有关更多信息,请参见:
Steve动画GIF的帧延迟时间Humphrey
耶利米·约翰逊(Jeremiah Johnson)动画GIF最小帧延迟浏览器兼容性研究
琐事:EricLaw的IEInternals上的动画GIF时序
/>