I have the following HTML:
And the following CSS:
@-webkit-keyframes rotate {
t
Stop the animation upon receiving an animationiteration
event. Something like this (using jQuery):
CSS
@-webkit-keyframes rotate {
to {
-webkit-transform: rotate(360deg);
}
}
.rotate {
width: 100px;
height: 100px;
background: red;
}
.rotate.anim {
-webkit-animation-name: rotate;
-webkit-animation-duration: 5s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
HTML
<div class="rotate anim">TEST</div>
<input id="stop" type="submit" value="stop it" />
JS (JQuery)
$("#stop").click(function() {
$(".rotate").one('animationiteration webkitAnimationIteration', function() {
$(this).removeClass("anim");
});
});
Fiddle: http://jsfiddle.net/sSYYE/1/
Note that I'm using .one
here (not .on
) so that the handler only runs once. That way, the animation can later be restarted.
Do you mean you want the animation to stop where it is when it ends without jumping back to its original position?
Then you want:
Animate something moving from one place to another and have it stay there: animation-fill-mode:forwards;
check this link:
http://www.w3schools.com/cssref/css3_pr_animation-fill-mode.asp