GSAP (GreenSock Animation Platform) предоставляет гибкий и мощный
инструмент для создания высокопроизводительных анимаций в браузере.
Основными параметрами, определяющими поведение анимации, являются
duration, delay и ease. Их
правильное использование позволяет контролировать продолжительность,
начало и динамику движения объектов.
duration —
продолжительность анимацииПараметр duration задаёт время, в течение которого
анимация будет выполняться. Значение указывается в
секундах и может быть как целым числом, так и
дробным.
Пример базовой анимации:
gsap.to(".box", {
x: 300,
duration: 2
});
В этом примере элемент с классом .box перемещается на
300 пикселей по оси X за 2 секунды.
Особенности использования:
duration не указан, по умолчанию принимается
значение 0.5 секунд.delay — задержка
перед запускомdelay определяет время ожидания перед началом анимации.
Значение также указывается в секундах.
Пример:
gsap.to(".box", {
x: 300,
duration: 2,
delay: 1
});
Элемент .box начнёт движение через 1 секунду после
вызова анимации.
Особенности использования:
delay полезен для создания последовательных эффектов
при множественных анимациях.gsap.timeline) для
точного управления очередностью.delay может быть отрицательным, что позволяет
запускать анимацию раньше её стандартного времени в таймлайне.ease — динамика
движенияПараметр ease контролирует скорость изменения
анимации во времени. GSAP предоставляет множество встроенных
функций easing, которые изменяют восприятие движения объекта, делая его
более естественным или выразительным.
Пример использования:
gsap.to(".box", {
x: 300,
duration: 2,
ease: "power2.out"
});
Типы easing:
Линейное (linear) Движение
происходит равномерно без ускорения или замедления.
ease: "linear"С ускорением и замедлением (power1,
power2, power3,
power4)
.in — движение начинается медленно и ускоряется к
концу..out — движение начинается быстро и замедляется к
концу..inOut — сочетает ускорение в начале и замедление в
конце.ease: "power3.inOut"Elastic и Bounce Эти функции создают эффекты «упругости» или «отскока», добавляя анимациям динамичность.
ease: "elastic.out(1, 0.3)"
ease: "bounce.out"Custom easing Возможна настройка собственных
кривых с помощью функций типа CustomEase.create или массива
чисел в формате bezier.
Рекомендации по использованию:
power1.out
или power2.out для плавного завершения движения.elastic или bounce для наглядной
динамики.ease можно комбинировать с stagger в
массивах анимаций для создания каскадного эффекта.Часто все три параметра (duration, delay,
ease) используются одновременно, чтобы создать сложные
анимации с точным контролем времени и динамики.
Пример комбинированной анимации:
gsap.to(".box", {
x: 300,
y: 100,
rotation: 45,
duration: 2,
delay: 0.5,
ease: "power2.inOut"
});
Эта запись описывает:
delay.duration и ease влияют на
восприятие движения — короткая анимация с резким easing будет выглядеть
агрессивно, длинная с мягким easing — естественно.ease позволяет создавать
уникальные визуальные эффекты без написания сложного кода.Использование duration, delay и
ease — фундамент для управления анимациями в GSAP. Сочетая
эти параметры, можно создавать как простые эффекты перемещения, так и
сложные интерактивные анимации с высокой степенью контроля над временем
и динамикой.