Базовый набор параметров анимации в Velocity.js формирует основу
управления движением элементов в DOM. Почти все свойства передаются в
объекте настроек при вызове
Velocity(element, properties, options) и определяют
поведение анимации от времени выполнения до взаимодействия с очередями и
событиями жизненного цикла.
duration Определяет длительность анимации в миллисекундах.
Тип: Number | String
Примеры значений:
300"fast" (эквивалентно ~200 мс)"slow" (эквивалентно ~600 мс)Влияет напрямую на скорость интерполяции всех анимируемых свойств.
delay Задаёт задержку перед началом анимации.
NumberИспользуется для построения последовательных эффектов и каскадных переходов.
easing Определяет функцию изменения скорости анимации во времени.
String | ArrayПоддерживаемые варианты:
"linear""swing"[0.25, 0.1, 0.25, 1]"ease",
"ease-in", "ease-out",
"ease-in-out"Easing управляет ощущением «физики» движения, влияя на ускорение и замедление.
begin Вызывается один раз перед стартом анимации.
FunctionИспользуется для подготовки состояния перед изменением стилей.
complete Срабатывает после завершения анимации.
FunctionПозволяет выполнять цепочки анимаций или очистку состояния.
progress Вызывается на каждом кадре анимации.
Function(percentComplete, remaining, tweenValue)Позволяет отслеживать прогресс и синхронизировать внешние эффекты.
queue Определяет, в какую очередь помещается анимация.
String | BooleanЗначения:
"fx" — стандартная очередьfalse — отключение очереди (параллельное
выполнение)Позволяет управлять последовательностью анимаций на одном элементе.
display Управляет CSS-свойством display
в процессе анимации.
StringПримеры:
"block""inline-block""flex"Часто используется для появления скрытых элементов.
visibility Управляет свойством
visibility.
StringЗначения:
"visible""hidden"Позволяет скрывать элемент без влияния на поток документа.
loop Определяет количество повторов анимации.
Number | BooleanЗначения:
true — бесконечный цикл3 — три повтораПосле завершения каждого цикла анимация возвращается к начальному состоянию.
repeat Альтернативный механизм повторения с более точным контролем.
NumberИспользуется вместе с repeatDelay.
repeatDelay Задержка между повторами анимации.
Number (мс)Позволяет создавать паузы в циклических анимациях.
speed Модификатор общей скорости анимации.
Тип: Number
1 — нормальная скорость
0.5 — в два раза медленнее
2 — в два раза быстрее
Применяется как множитель к duration.
backwards Инвертирует направление анимации.
BooleanИспользуется для эффектов «отката» состояния.
sync Синхронизирует анимации между несколькими элементами.
BooleanЕсли true, все элементы стартуют одновременно.
mobileHA Включает аппаратное ускорение для мобильных устройств.
BooleantrueДобавляет CSS-трансформации для повышения плавности.
stagger Создаёт задержку между анимациями элементов коллекции.
NumberПример поведения:
staggerИспользуется для каскадных эффектов.
drag Позволяет анимации «догонять» изменения значений.
BooleanСоздаёт эффект физического движения с инерцией.
queue: false + drag часто используется для интерактивных интерфейсов.
beginProperties (внутренний механизм Velocity) Определяет стартовые значения свойств, если они не заданы явно.
completeProperties (логический уровень завершения) Используется для фиксации финального состояния после анимации.
Velocity.js обрабатывает трансформации через абстракцию свойств:
translateXtranslateYtranslateZscalescaleXscaleYrotateZКаждое из этих свойств анимируется независимо, но объединяется в
единый transform при рендере.
Особенности:
Поддерживаются стандартные CSS-свойства:
opacitycolorbackgroundColorborderColorОсобенность обработки заключается в интерполяции RGB/HEX значений в числовом пространстве, что позволяет плавные переходы между цветами без скачков.
Анимации могут применяться к:
widthheightpaddingmarginborderWidthПри этом значения могут быть заданы как:
100px)50%)ignoreRateLimit Отключает внутреннее ограничение частоты обновлений.
BooleanИспользуется при высокочастотных интерактивных анимациях.
loopBegin / loopComplete (в логике
расширений) Позволяют реагировать на каждый цикл
loop.
Некоторые параметры работают только в связке:
loop + delay — формирование ритмических эффектовstagger + sync — синхронизированные каскадыqueue: false + duration — параллельные анимации разной
длительностиeasing + progress — построение кастомной физики
движенияКаждое свойство проходит три стадии обработки:
Нормализация значения Преобразование строковых значений в числовой формат
Интерполяция Вычисление промежуточных значений на основе времени и easing
Рендеринг Применение результата через
style DOM-элемента или transform pipeline
duration не может быть отрицательнымeasing должен быть валидной функцией или массивом
Безьеqueue принимает только допустимые строки или
falseloop игнорируется при использовании
display: none в некоторых сценарияхКаждое свойство анимации в Velocity.js влияет на отдельный этап вычислений:
duration, delay) —
планирование кадровeasing, drag,
backwards) — математическая модель интерполяцииqueue, sync) — диспетчер
задачdisplay, visibility)
— CSS-патчинг слоя отображения