Is it possible to restart an animated GIF used as background-image
?
Consider this HTML:
<div id="face">
<div id="eyes"></eyes>
</div>
And this style:
#eyes.blink {
background-image:url('blink.gif');
}
I would like the blink.gif
animation to play every time I add the class blink
to #eyes
, not just the first time.
I expected this to work:
function startBlink() {
$('#eyes').addClass('blink');
}
function stopBlink() {
$('#eyes').removeClass('blink');
}
The problem is that both Firefox and WebKit browser do not play a background-image GIF animation again once it has played once. Adding/removing the class blink only works the first time.
You can get the animated gif to replay by reloading it. This isn't ideal for bandwidth, especially if your image is large, but it will force a restart of the animation.
In my example I'm adding and removing it
onclick
of<div id="animated">
:Demo of it in action.
Have you considered using the same image twice called blink.gif and blink2.gif, adding two classes for them and toggling between classes?