Вот пример, адаптированный из удаленного ответа, в котором предлагается использовать классы.Этот ответ не совсем правильно понял анимацию, потому что он работал бесконечно.
Идея состоит в том, чтобы добавить класс на click
и удалить его при возникновении события animationend
:
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
#button.animating {
-webkit-animation-name: rotate;
-webkit-animation-timing-function: linear;
-webkit-animation-duration: 1s;
}
var btn = document.getElementById('button');
btn.addEventListener('click', function() {
this.className = 'animating';
});
btn.addEventListener('webkitAnimationEnd', function(){
this.className = '';
});
http://jsfiddle.net/AndyE/9LYAT/