У меня есть анимация CSS, которая в зависимости от некоторой ситуации я хочу иметь возможность переключаться вперед или назад в любое время на основе некоторых JS. Вот базовый пример:
HTML
<div id="box"></div>
<button onclick="toggle()">toggle</button>
JS
window.isSmall = true;
window.toggle = function() {
if (isSmall) {
var el = document.getElementById("box");
el.classList.add("bigger");
} else {
// ????
}
isSmall = !isSmall;
}
1009 * CSS *
@keyframes bigger {
from { width:100px; height:100px; }
to { width:200px; height:200px; }
}
#box {
width:100px;
height:100px;
background-color: red;
}
.bigger {
animation-name: bigger;
animation-duration: 1s;
animation-fill-mode: forwards;
}
Fiddle:
http://jsfiddle.net/gbh408up/
Я думал, что это будет довольно просто, но удивительно, что я не смог найти метод для достижения этой цели. Обратите внимание, я специально ищу решение с анимацией, а не с переходами. Есть идеи?