<div class="box">
<div>Кликни и начнется анимация</div>
</div>
body {
margin: 0;
padding: 0;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.box {
width: 220px;
height: 100px;
background-color: pink;
box-sizing: border-box;
border: 2px solid rgba(0, 0, 0, 0.24);
text-align: center;
}
.box_animate_1 {
animation: 2s animate forwards;
}
@keyframes animate {
0%: {
transform: translateX(0);
}
50% {
transform: translateX(50px);
}
100% {
transform: translateX(0);
}
}
.box_animate_2 {
animation: 2s animate_2 forwards;
}
@keyframes animate_2 {
0%: {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
let box = document.querySelector('.box');
box.addEventListener("click", function() {
box.classList.add('box_animate_2');
});
// Отслеживаем окончание анимации
box.addEventListener("animationend", AnimationHandler, false);
function AnimationHandler () {
// Удаляем класс с анимацией
box.classList.remove('box_animate_2');
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.