Я реализовал некоторые CSS
анимации как именованные классы, поэтому я могу легко добавлять / удалять любую связанную анимацию для элемента, делая его "доступным" для последующих или повторяющихся анимаций.
Япогрузить мои пальцы в использование CSS
переменных, и это в настоящее время бросает меня за цикл.Я пытаюсь разрешить пользователю поворачивать активное изображение с шагом 90 градусов.В приведенном ниже примере кода я показываю только положительное событие нажатия кнопки 90.
*. Scss
:root {
--rotation-degrees: 90;
}
@keyframes rotate {
100% {
transform: rotate(var(--rotation-degrees)+'deg');
}
}
.animation-rotate {
--rotation-degrees: 90;
// NOTE: I suspect the variable does not need to be supplied here, removing does
// not fix the issue, at least in isolation
animation: rotate(var(--rotation-degrees)) 0.2s forwards;
}
*. Js
let degrees = 0;
function rotate(degrees_increment) {
degrees += degrees_increment;
// The use of document.documentElement.style.setProperty is something I've seen
// used in many of the articles I've read as a means to "get to" the css variable,
// so I'm simply blindly copying it's use here
document.documentElement.style.setProperty('--rotation-degrees', degrees +'deg');
$('#main-image-slider img').addClass('animation-rotate');
}
$('#rotate-right-button').on('click', function(event) {
event.preventDefault();
rotate(90);
});
Спасибозаранее за любые идеи и помощь, которую вы можете оказать!