@jorge
Для создания анимации с использованием JavaScript и CSS, следует использовать следующий подход:
- Создание элемента, который будет анимироваться, и добавление стилей CSS для определения его начального состояния и эффектов анимации в файле CSS:
1
2
3
4
5
6
|
#myElement {
width: 100px;
height: 100px;
background-color: red;
transition: width 1s, height 1s, background-color 1s; /* определяем свойства и время анимации */
}
|
- Использование JavaScript для добавления/удаления классов элементу, чтобы запустить/завершить анимацию:
1
2
|
let element = document.getElementById("myElement");
element.classList.add("animate"); // Добавляем класс, чтобы начать анимацию
|
- Определение CSS-класса анимации, который будет применяться к элементу во время анимации:
1
2
3
4
5
|
.animate {
width: 200px;
height: 200px;
background-color: blue;
}
|
- Дополнительно можно добавить обработчик события "transitionend", который сработает после завершения анимации, чтобы удалить класс анимации:
1
2
3
|
element.addEventListener("transitionend", function() {
element.classList.remove("animate"); // Удаляем класс после завершения анимации
});
|
После выполнения данных шагов, при активации анимации (например, по событию клика) элемент будет изменять свои свойства (ширина, высота, цвет фона) плавно в течение указанного времени (1 секунда в данном примере).