Анимация на JavaScript: Anime.js — просто и эффективно

Библиотека Anime.js — удобный инструмент для создания разнообразных анимаций на JavaScript. Она позволяет реализовывать сложные эффекты в нескольких строках кода, обеспечивая широкую браузерную совместимость, включая Internet Explorer.

Возможности Anime.js

Anime.js предлагает широкий спектр эффектов и анимаций. Официальный сайт (ссылка в описании) содержит многочисленные примеры: от сложных анимаций до простых изменений CSS-свойств (изменение цвета и размера элементов, анимация геометрических фигур).

Установка и подключение

Для работы необходимо скачать Anime.js с официального сайта (ссылка в описании). Используйте файл anime.min.js (или anime.js) и подключите его к HTML-документу:

<script src="js/anime.min.js"></script>

Убедитесь в корректности пути к файлу.

Простая анимация

Создадим простейшую анимацию с помощью метода anime():

anime({
  targets: '#myBlock', // Селектор элемента
  translateX: 250,     // Перемещение по X на 250 пикселей
  duration: 1000       // Длительность (1 секунда)
});

targets указывает на элемент с ID myBlock. translateX задаёт горизонтальное перемещение. duration определяет время анимации. Для перемещения влево используйте отрицательное значение translateX. Добавьте стили для блока (ширину, высоту, фон, сглаживание углов).

Анимация по клику

Запустим анимацию по клику кнопки с классом button:

<button class="button">Анимировать</button>

Обработчик события click и вызов anime():

document.querySelector('.button').addEventListener('click', () => {
  anime.timeline({
    targets: '.my-block', // Селектор анимируемого блока
    easing: 'easeInOutQuad', // Эффект плавности
  }).add({
    translateX: 250,
    duration: 1000,
  }).add({
    translateX: 0,
    duration: 1000,
  });
});

Здесь создаётся временная шкала анимаций для последовательного выполнения.

Дополнительные свойства

Anime.js предоставляет множество свойств для настройки анимаций:

  • loop: Зацикливает анимацию.
  • backgroundColor: Изменяет цвет фона.
  • borderRadius: Изменяет радиус скругления углов.
  • duration: Управляет временем анимации.
  • easing: Изменяет плавность анимации.
  • delay: Задержка перед началом анимации.
  • direction: Направление анимации (например, alternate для двустороннего движения).
  • scale: Изменяет масштаб.
  • rotate: Поворот элемента.
  • translateY: Перемещение по оси Y.

Комбинируя эти свойства, можно создавать сложные анимации.

Anime.js — мощная библиотека для создания анимации на JavaScript. Она позволяет реализовывать сложные эффекты с минимальным количеством кода, обеспечивая высокое качество и производительность. Подробная документация и многочисленные примеры облегчают освоение библиотеки.

Что будем искать? Например,программа