Я хочу, чтобы вращающаяся анимация применялась к div, которая повторяется постоянно, пока я не хочу, чтобы она остановилась.
Я добавил класс 'spinning, который содержит параметры анимации для моего div, а затем удалил класс, вращающийся из div с el.removeClass(' spinning ')
Анимация работает и останавливается после удаления класса в Chrome и Safari. Но на моем устройстве тестирования Android (4.0.1) анимация не останавливается и постоянно повторяется при удалении класса анимации.
Heres код класса "spinning" и остальная часть моей анимации:
.spinning {
@include animate-spinning;
}
@mixin animate-spinning {
// Experimental mixin from Compass - see footnote below **
@include experimental(animation-name, spinning-animation);
@include experimental(animation-duration, 2s);
@include experimental(animation-timing-function, linear);
@include experimental(animation-iteration-count, infinite);
}
@-webkit-keyframes spinning-animation {
0% {-webkit-transform: translate3d(0,-2432px,0);}
100% {-webkit-transform: translate3d(0,0,0);}
}
** Experimental mixin
// This mixin provides basic support for CSS3 properties and
// their corresponding experimental CSS2 properties when the
// implementations are identical except for the property prefix.
Это решает мою (очень похожую) проблему:
$el.removeClass('THE_ANIMATION').css('opacity', 0.99);
window.setTimeout(function () {
$el.css('opacity', 1);
}, 0);
Я не знаю вашего CSS, но у меня была та же проблема - моим решением было удалить overflow: hidden; из моего элемента контейнера. Проблема возникла только в том случае, если в контейнере были анимированные дети.
См. Трудно остановить бесконечную анимацию CSS в браузере Android.