【发布时间】:2011-11-25 23:59:28
【问题描述】:
是否可以重新启动用作background-image 的动画 GIF?
考虑一下这个 HTML:
<div id="face">
<div id="eyes"></eyes>
</div>
还有这种风格:
#eyes.blink {
background-image:url('blink.gif');
}
我希望每次将 blink 类添加到 #eyes 时播放 blink.gif 动画,而不仅仅是第一次。
我希望这会起作用:
function startBlink() {
$('#eyes').addClass('blink');
}
function stopBlink() {
$('#eyes').removeClass('blink');
}
问题是 Firefox 和 WebKit 浏览器都不会在播放一次后再次播放背景图像 GIF 动画。添加/删除类 blink 仅在第一次时有效。
【问题讨论】:
-
@NoufalIbrahim 仅当它们被设置为循环时。
-
@Noufal Ibrahim — 他们可以做到,这取决于图片内设置的循环选项。
-
@Noufal 是的,但我不想要一个循环。我想在用户执行某个事件时重新启动动画。
-
在 2016 年,我已经能够通过在 Chrome 和 Safari 中重置源(或在两个图像之间切换)而不是 Firefox 或 Edge 来让它作为背景图像工作。它们仍然只会显示非循环动画的最后一帧。
标签: jquery html css background-image animated-gif