Параметры анимации

Dom7 предоставляет удобный интерфейс для работы с DOM и интеграции с анимациями, в частности через методы animate, transition, fadeIn, fadeOut и другие. Понимание параметров анимации позволяет создавать плавные визуальные эффекты без необходимости подключения сторонних библиотек.

Время выполнения (duration)

Параметр duration определяет длительность анимации в миллисекундах.

$$('.box').animate(
  { opacity: 0 },
  { duration: 500 }
);
  • Значение 500 соответствует половине секунды.
  • Если duration не указан, используется значение по умолчанию (обычно 300–400 мс в зависимости от реализации).

Тип анимации (easing)

easing определяет кривую ускорения анимации. Dom7 поддерживает стандартные CSS-переходы:

  • linear — равномерная скорость изменения;
  • ease — плавное начало и завершение;
  • ease-in — замедление в начале;
  • ease-out — замедление в конце;
  • ease-in-out — плавное ускорение и замедление.
$$('.box').animate(
  { left: '100px' },
  { duration: 800, easing: 'ease-in-out' }
);

Использование корректного easing позволяет создавать более естественные движения объектов.

Задержка (delay)

delay задаёт время ожидания перед началом анимации в миллисекундах.

$$('.box').animate(
  { transform: 'scale(1.5)' },
  { duration: 400, delay: 200 }
);
  • Значение 200 означает, что анимация начнётся через 0.2 секунды после вызова метода.

Количество повторений (loop)

Параметр loop управляет повторением анимации. Если указано true, анимация будет циклично повторяться.

$$('.box').animate(
  { opacity: 0 },
  { duration: 500, loop: true }
);
  • Полезно для индикаторов загрузки, мигающих элементов и бесконечных эффектов.

Изменение CSS-свойств (css)

Анимация в Dom7 работает с CSS-свойствами, которые поддерживают переходы. Основные свойства:

  • opacity — прозрачность;
  • transform — масштаб, сдвиг, вращение;
  • top, left, right, bottom — позиционирование;
  • width, height — размеры.
$$('.box').animate(
  { transform: 'rotate(45deg) scale(1.2)' },
  { duration: 600, easing: 'ease' }
);

Dom7 автоматически добавляет необходимые префиксы и управляет переходами через CSS.

События анимации (complete)

Функция complete вызывается после завершения анимации. Позволяет запускать цепочки анимаций.

$$('.box').animate(
  { opacity: 0 },
  { duration: 500, complete: function () {
      console.log('Анимация завершена');
  }}
);

Использование complete особенно важно при создании сложных последовательностей эффектов.

Комбинированные параметры

Dom7 позволяет совмещать все параметры в одном объекте:

$$('.box').animate(
  { transform: 'translateX(200px) scale(1.3)', opacity: 0.5 },
  { duration: 700, easing: 'ease-out', delay: 100, loop: false, complete: () => console.log('Готово') }
);
  • Одновременное управление положением, масштабом и прозрачностью делает анимацию более выразительной.
  • Параметры duration, easing, delay и loop применяются глобально к набору CSS-свойств.

Взаимодействие с transition

Метод transition Dom7 упрощает выполнение однотипных анимаций:

$$('.box').transition('opacity 0.5s ease-in-out');
  • Эквивалент установки CSS transition и последующего изменения стиля.
  • Позволяет быстро создавать эффекты с минимальным кодом.

Практические рекомендации

  • Плавность движения достигается сочетанием небольшого duration и кривой ease-in-out.
  • Оптимизация производительности: для сложных анимаций предпочтительно использовать transform и opacity, так как изменение других CSS-свойств может вызывать перерасчёт макета.
  • Цепочки анимаций: последовательные вызовы с complete позволяют создавать сложные эффекты без сторонних библиотек.

Dom7 предоставляет полный контроль над параметрами анимации через единый и лаконичный интерфейс. Корректная настройка duration, easing, delay, loop и complete обеспечивает реалистичное и плавное взаимодействие элементов на странице.