标题是不言自明的,但我将提供有关此事的分步视图。希望我不是第一个在 Webkit/Chrome 上注意到这个(显然)错误的人。
我想重置一个 GIF 动画。到目前为止,我看到的所有示例要么简单地将src
图像的 设置为自身,要么将其设置为空字符串,然后src
再次将其设置为原始字符串。
看看这个JSFiddle以供参考。GIF 在 IE、Firefox 和 Chrome 上重置得非常好。
我遇到的问题是图像仅display:none
在Google Chrome 上显示。
检查这个JSFiddle。在页面中显示之前,GIF 在 IE 和 Firefox 上重置得很好,但 Chrome 只是拒绝重置其动画!
到目前为止我尝试过的:
src
在 Fiddle 中将设置为自身,在 Chrome 中不起作用。- 将 设置
src
为空字符串并将其恢复为默认值也不起作用。 - 在图像周围放置一个包装器,清空容器
.html('')
并将图像放回其中,也不起作用。 - 在设置之前或之前更改
display
图像也不起作用。.show()
.fadeIn()
src
在只有我已经发现迄今的解决方法是保持图像与它的默认display
,并通过操纵它.animate()
荷兰国际集团和.css()
荷兰国际集团的透明度,高度和能见度在必要时模拟display:none
的行为。
这个问题的主要原因(上下文)是我想在页面中淡入淡出之前重置 ajax 加载器 GIF。
所以我的问题是,是否有一种正确的方法来重置 GIF 图像的动画(避免 Chrome 的display:none
“错误”)或者它实际上是一个错误?
(ps。您可以更改小提琴中的 GIF 以获得更合适/更长的动画 gif 以进行测试)