标题不言而喻,但我会提供有关此问题的分步视图。希望我不是第一个注意到Webkit/Chrome上的这个(显然)错误的人。使用显示重置GIF动画的正确方法:在Chrome上不显示任何内容
我想重置一个GIF动画。到目前为止,我所见过的所有例子不是简单地将图像的src
设置为自身,就是将其设置为空字符串,然后再将其设置为原始的src
。
看看这个JSFiddle仅供参考。 GIF在IE,Firefox和Chrome上完全正常。
我的问题是当图像有display:none
对Google Chrome只有。
选中此JSFiddle。在显示在页面中之前,GIF在IE和Firefox上重置得很好,但Chrome只是拒绝重置它的动画!
我试过到目前为止:
- 设置
src
到了自己在小提琴,不会在Chrome中工作。 - 将
src
设置为空字符串并将其恢复为默认值也不起作用。 - 在图像周围放置一个包装,通过
.html('')
清空容器并将图像放回其中,也不起作用。 - 在设置
src
之前,通过.show()
或.fadeIn()
更改图像的display
也不起作用。
的只有的解决方法,我发现到目前为止是保持图像使用其默认display
和操纵它通过.animate()
荷兰国际集团和荷兰国际集团.css()
的透明度,高度和能见度在必要时模拟display:none
行为。
这个问题的主要原因(上下文)是我想重置一个ajax加载器GIF,然后将它淡入页面中。
所以我的问题是,有没有适当的方法来重置GIF图像的动画(这可以避免Chrome的display:none
“bug”)还是它实际上是一个错误?
(PS。你可以改变在小提琴的GIF更适合自己的/更长的GIF动画进行测试)
我制定了一个完整的解决方案。看到这里:http://stackoverflow.com/a/31093916/1520422 –