Velocity() /
$.Velocity()Velocity.js предоставляет центральную функцию выполнения анимаций:
Velocity(element, properties, options)
или в jQuery-интеграции:
$.Velocity(element, properties, options)
Основные режимы вызова:
Параметры:
element — DOM-узел, коллекция или селекторproperties — объект CSS-свойств или команд (например,
{ opacity: 0, translateX: 100 })options — объект настроек анимацииКлючевые возможности:
begin, complete,
progress).velocity()Основной метод, добавляемый к DOM-элементам при использовании Velocity:
element.velocity(properties, options)
Поддерживает несколько режимов:
.velocity("stop")Прерывание текущей анимации:
$(element).velocity("stop")
Режимы остановки:
stop — останавливает текущую анимацию, оставляя текущее
состояниеstop, true — очищает очередь анимацийstop, false, true — завершает текущую анимацию
мгновенноИспользуется при:
.velocity("finish")Мгновенное завершение всех анимаций:
$(element).velocity("finish")
Поведение:
.velocity("reverse")Разворот текущей анимации:
$(element).velocity("reverse")
Особенности:
.velocity("pause")
и .velocity("resume")Управление временной остановкой:
$(element).velocity("pause")
$(element).velocity("resume")
Поведение:
pause фиксирует текущее состояние анимации без
завершенияresume продолжает с момента остановкиИспользуется в:
Velocity.RegisterEffect()Регистрация кастомного эффекта:
Velocity.RegisterEffect(name, definition)
Структура эффекта:
defaultDurationcalls — массив последовательных анимационных шаговreset — начальные состоянияПример логики:
Velocity.RegisterUI()Интеграция UI Pack эффектов:
Velocity.RegisterUI(elements, properties)
Назначение:
Velocity.RunSequence()Последовательное выполнение анимаций:
Velocity.RunSequence(sequence)
Структура sequence:
[
{ e: element, p: { opacity: 1 }, o: { duration: 300 } },
{ e: element, p: { translateY: 50 }, o: { duration: 200 } }
]
Особенности:
Velocity.hook()Работа с CSS hooks:
Velocity.hook(element, "translateX", "100px")
Режимы:
Поддерживаемые типы:
translateX, scale,
rotate)Используется для:
Velocity.UtilitiesНабор внутренних утилит:
Хотя не всегда публично документирован, используется внутри:
.velocity()Velocity поддерживает строковые команды:
"stop""finish""reverse""pause""resume""fadeIn""fadeOut""slideUp""slideDown" (через UI Pack)Эти команды работают как высокоуровневые пресеты поверх базового engine.
Hook API позволяет управлять CSS-свойствами напрямую:
Velocity.hook(element, property, value)
Поддерживаемые категории:
Особенности реализации:
Velocity использует внутреннюю систему очередей:
Команды управления:
Основная вычислительная модель:
Все методы поддерживают:
NodeListHTMLCollectionПоведение:
При подключении jQuery-версии:
$().velocity()Расширяет стандартный jQuery API:
.animate()Velocity поддерживает режимы:
{ delay: 300 }
Позволяет:
progress: function(elements, complete, remaining, start, tweenValue) {}
Данные:
Вызывается после завершения:
Срабатывает перед стартом:
Velocity.js API состоит из уровней:
Velocity().velocity()RegisterEffect, RunSequence,
hook)