GSAP (GreenSock Animation Platform) предоставляет мощный и гибкий
инструмент для управления анимациями через объект Tween или
Timeline. Методы экземпляра play,
pause, resume и reverse позволяют
точно контролировать воспроизведение анимации на любом этапе её
жизненного цикла.
playМетод play() запускает или возобновляет анимацию с
текущей позиции или с заданного момента времени. Он является
универсальным инструментом для управления стартом анимации.
const tween = gsap.to(".box", { x: 300, duration: 2 });
tween.play();
Особенности использования:
play() возобновит её
с текущего момента.tween.play(1.5)),
воспроизведение начнётся с указанной позиции в секундах.Timeline.pauseМетод pause() останавливает анимацию на текущей позиции
без сброса состояния. Это ключевой инструмент для интерактивных
интерфейсов и пользовательских контролов.
tween.pause();
Особенности:
tween.pause(1.0)).Timeline, пауза на одном
элементе не влияет на остальные анимации, если явно не указан
timeline.pause().pause() сохраняет внутренние состояния анимации:
текущую прогрессию, свойства, ключевые кадры.resumeМетод resume() восстанавливает воспроизведение анимации
с позиции, на которой она была приостановлена с помощью
pause(). Этот метод особенно полезен при управлении
последовательными событиями или при интерактивной анимации.
tween.pause();
setTimeout(() => {
tween.resume();
}, 1000);
Ключевые моменты:
resume()
аналогичен play().timeline для управления
комплексными анимациями.reverseМетод reverse() запускает анимацию в обратном
направлении. Можно использовать с текущей позиции или с конца анимации,
если она ещё не была запущена.
tween.reverse();
Особенности и возможности:
tween.reverse(1.5))
позволяет начать обратное воспроизведение с конкретного момента.repeat и yoyo: обратное
воспроизведение учитывает текущую фазу анимации.play() + pause() — полный контроль
воспроизведения с остановкой и возобновлением.play() + reverse() — можно динамически
переключать направление анимации.pause() + resume() — точная пауза и
продолжение без сброса состояния.const timeline = gsap.timeline({ repeat: 1, yoyo: true });
timeline.to(".box", { x: 200, duration: 2 })
.to(".box", { y: 100, duration: 2 });
timeline.pause(); // остановка всей последовательности
timeline.play(); // запуск с текущей позиции
timeline.reverse(); // обратное воспроизведение всей timeline
play(time) или reverse(time)
для синхронизации нескольких анимаций.pause() и
resume() для реагирования на действия пользователя.Timeline управление через
reverse() позволяет создавать циклические и обратные
анимации без дублирования кода.Эти методы обеспечивают гибкость и точность управления анимациями, превращая GSAP в инструмент для создания сложных динамических интерфейсов, где каждая анимация может быть запущена, остановлена, возобновлена или воспроизведена в обратном направлении по требованию.