Словами самого skill
Официальный skill GSAP для последовательного построения анимаций с помощью gsap.timeline(). Он охватывает создание таймлайна и цепочку твинов, которые по умолчанию добавляются друг за другом, а затем их перепозиционирование с помощью параметра position — абсолютные секунды, относительные смещения "+=0.5"/"-=0.2", метки (labels) и позиционирование "<"/">".
В нём описаны опции конструктора таймлайна (paused, repeat, yoyo, onComplete/onStart/onUpdate, defaults), расстановка меток с помощью addLabel() и переход по времени с play()/tweenFromTo(), вложение дочерних таймлайнов в мастер-таймлайн, а также методы воспроизведения, включая restart, time, progress и kill. В конце — лучшие практики GSAP и ловушки, которые нужно избегать, в частности цепочка с delay и размещение ScrollTrigger на твинах внутри таймлайна.
Что он выдаёт
- Объект таймлайна, хранящийся в переменной, — tl в каждом примере, — к которому добавляются связанные твины и над которым выполняются методы воспроизведения.
- Новый Tween, возвращаемый tweenFromTo, который анимирует плейхед между двумя метками, пока таймлайн на паузе, без ease.
- Убитый (killed) таймлайн: вызов kill() удаляет таймлайн и по умолчанию также его дочерние элементы.
Как это работает
- 01Создание таймлайна и цепочка твинов
Вызовите gsap.timeline() и свяжите вызовы .to() в цепочку. Если position не задан, каждый твин добавляется после завершения предыдущего, так что порядок соответствует порядку написания.
- 02Разместите каждый твин во времени
Позиционирование задаётся третьим аргументом или свойством position в vars: абсолютные секунды, относительные смещения, названия меток, либо < и > относительно последней добавленной анимации.
- 03Задайте общие настройки по умолчанию для таймлайна
Настройки по умолчанию, переданные в конструктор таймлайна, объединяются с настройками каждого дочернего твина, поэтому duration и ease объявляются один раз для всей последовательности.
- 04Отметка ключевых моментов
addLabel() отмечает именованную точку на таймлайне, и эта метка затем может использоваться как позиционная цель для последующих твинов вместо обычного числа.
- 05Вложение таймлайнов в мастер-таймлайн
Мастер-таймлайн может принимать дочерний таймлайн как единицу и размещать его в определённый момент времени, после чего дальнейшие твины добавляются относительно него.
- 06Управление всей последовательностью целиком
После создания таймлайн воспроизводится и приостанавливается как единое целое, а не твин за твином.