.
.
.
.
Учебник: Принципы креативного кода / JS + DOM (Vanilla) /
Опубликовано 00 месяц 2026
title
.
.
.
.
Теория
Анимация делает интерфейс живым. События позволяют реагировать на действия пользователя: клик, наведение, движение мыши или нажатие клавиши. Вместе они создают
Событие — это сигнал о том, что что-то произошло. Например, пользователь нажал мышью, и код получил команду среагировать. В
Само по себе изменение координат происходит мгновенно. Чтобы движение выглядело плавно, используется свойство
app.addEventListener("click", (event) => {
ball.style.left = event.clientX + "px";
ball.style.top = event.clientY + "px";
});
Здесь контейнер слушает событие
Событие запускает действие, а анимация делает это действие ощутимым
Ниже ты сначала увидишь самый простой вариант: элемент перемещается по клику. Потом к движению добавится изменение масштаба и цвета. Так одна простая техника постепенно превратится в более выразительное интерактивное поведение.
Техника
Начнём с одного элемента. По клику внутри области он будет плавно перемещаться в новую точку. Это базовая связка из события и анимации.
Здесь внутри
Теперь добавим дополнительную реакцию. Пусть при каждом клике элемент не только двигается, но и слегка меняет масштаб и цвет. Так интерактивность станет более выразительной.
Здесь по клику меняется не только положение, но и визуальное состояние элемента. Круг слегка увеличивается, а затем возвращается к исходному масштабу. Дополнительно меняется цвет, поэтому реакция становится более заметной. Один и тот же жест пользователя теперь запускает сразу несколько изменений.
Вывод
- Событие
click позволяет запускать действие по жесту пользователя - Свойство
transition превращает мгновенное изменение в анимацию - Даже один элемент может стать интерактивной системой, если связать событие и стиль
Задание
Попробуй изменить характер движения самостоятельно. В коде ниже уже есть несколько вариантов для эксперимента — тебе нужно раскомментировать строки и посмотреть, как меняется поведение элемента. Обрати внимание на скорость, форму и визуальную реакцию.
- Раскомментируй изменение
borderRadius , чтобы круг становился квадратом - Попробуй изменить
transition , чтобы движение стало быстрее или медленнее - Раскомментируй
rotate() , чтобы элемент поворачивался при каждом клике - Попробуй заменить цвет и посмотреть, как меняется характер интерфейса
.
.
.
.
Следующий материал
Интерактив на p5.js
.
.
.
.