我相信会发生这种情况,因为每当我执行一个ajax请求(其中load.gif设置为显示:block)时,动画不会从相同的位置开始。起点感觉是随机的,这让我认为动画仍然在IE的幕后进行。在Firefox中,动画始终始终是“从头开始”。似乎像IE动画/处理我的loading.gif,即使我已经设置显示:无?
任何想法?
我相信会发生这种情况,因为每当我执行一个ajax请求(其中load.gif设置为显示:block)时,动画不会从相同的位置开始。起点感觉是随机的,这让我认为动画仍然在IE的幕后进行。在Firefox中,动画始终始终是“从头开始”。似乎像IE动画/处理我的loading.gif,即使我已经设置显示:无?
任何想法?
想想这样,如果图像打开但CSS被禁用,gif会做什么?它会一直运行。 display:none告诉浏览器“这个元素在网页上,但是不显示它。”所以它是有意义的,它运行整个时间,这可能是IE实施背后的逻辑。
我不是一个JS向导,但我希望实际上从文档中删除图像节点,然后在需要时再插入它会产生所需的效果,Pekka建议设置src属性听起来不错好。
我不知道动画GIF在IE和FF中是如何工作的,但我想很可能一个引擎在幕后运行动画,而另一个则不行。我怀疑这是否有一个标准。
设置图像元素的src
属性(在设置display
的同一时刻)应使动画从头开始可靠地启动。
根据我的经验,IE每次从头开始运行GIF动画,但速度要慢得多。在FF中它非常完美,而Chrome则只运行一次。如果它是一个循环gif,并且显示设置为none,它们将在后台运行,因为它们已被调用但未显示。我想。
是的,但仍然Firefox重新启动动画,每次我设置显示:块。我会研究src/node的移除方法。 – tobefound 2010-04-11 10:25:43