Удалённые методы в GSAP (GreenSock Animation Platform) ранее
обеспечивали прямое управление анимацией через устаревшие функции вроде
TweenLite.to(), TweenMax.from(),
TweenMax.staggerTo() и других. С развитием библиотеки и
стандартизацией подходов к анимации, эти методы были постепенно заменены
новыми, более гибкими и оптимизированными конструкциями на основе класса
gsap. Понимание этих замен позволяет создавать более
компактный и производительный код.
gsap.to()Метод gsap.to() служит современной заменой для
большинства устаревших функций типа TweenMax.to(). С его
помощью можно анимировать свойства элементов, управлять
продолжительностью и задержкой, а также задавать сложные кривые анимации
через объект конфигурации.
Синтаксис:
gsap.to(target, {
duration: 2,
x: 100,
opacity: 0.5,
ease: "power2.out",
delay: 1
});
target — CSS-селектор, DOM-элемент или массив
элементов.duration — продолжительность анимации в секундах.x, y, opacity,
scale — изменяемые свойства.ease — функция сглаживания перехода.delay — задержка перед запуском.Особенности: Метод позволяет одновременно
анимировать несколько свойств без необходимости использования нескольких
вызовов. Ранее для каждой отдельной анимации использовался отдельный
метод TweenMax.
gsap.from()Метод gsap.from() позволяет создавать анимацию,
начинающуюся с заданных значений и плавно возвращающуюся к текущему
состоянию элемента. Это современная замена устаревших функций
TweenLite.from() и TweenMax.from().
Пример использования:
gsap.from(".box", {
duration: 1.5,
x: -200,
opacity: 0,
ease: "back.out(1.7)"
});
x = -200 и прозрачности
0, плавно перейдя к текущему положению элемента.ease определяет тип кривой перехода.timelineДля упрощения управления сложными последовательностями анимаций
используется объект gsap.timeline(). Он заменяет методы
типа staggerTo или ручное управление задержками через
множество отдельных твинов.
Создание timeline:
const tl = gsap.timeline({ defaults: { duration: 1, ease: "power1.out" } });
tl.to(".box1", { x: 100 })
.to(".box2", { y: 50 }, "-=0.5")
.from(".box3", { opacity: 0 });
defaults задаёт значения по умолчанию для всех твинов в
timeline..to() позволяет наложить анимации
друг на друга через отрицательные значения ("-=0.5").staggerМетод stagger устарел, и его функции теперь встроены в
timeline или твины с параметром stagger.
Пример:
gsap.to(".boxes", {
x: 100,
duration: 1,
stagger: 0.2,
ease: "power2.inOut"
});
.boxes анимируются по очереди с
задержкой в 0.2 секунды.GSAP позволяет анимировать не только CSS-свойства, но и произвольные свойства объектов JavaScript. Ранее для подобных целей приходилось создавать сложные функции и слушатели событий.
Пример:
let obj = { value: 0 };
gsap.to(obj, {
value: 100,
duration: 2,
onUpdate: () => console.log(obj.value.toFixed(2))
});
onUpdate вызывается каждый кадр, что позволяет
синхронизировать изменения с другими действиями.GSAP предоставляет единый API для управления всеми активными анимациями вместо множества отдельных функций. Основные методы управления:
pause() — приостанавливает твины и timeline.resume() — возобновляет приостановленные анимации.reverse() — запускает анимацию в обратном
направлении.kill() — полностью останавливает и удаляет
анимацию.Пример:
const tween = gsap.to(".box", { x: 200, duration: 2 });
tween.pause();
setTimeout(() => tween.resume(), 1000);
Многие старые функции GSAP были заменены плагинами, которые расширяют возможности анимации:
Пример ScrollTrigger:
gsap.to(".box", {
x: 400,
scrollTrigger: {
trigger: ".box",
start: "top 80%",
end: "top 20%",
scrub: true
}
});
onEnterFrame или ручных scroll-listener’ов.TweenMax.to/from →
gsap.to/from для базовой анимации.stagger → встроенный stagger в
gsap.to или timeline`.gsap.timeline().gsap.to с объектами и
onUpdate.ScrollTrigger, MotionPathPlugin,
Draggable).Этот подход обеспечивает современную архитектуру анимаций с минимальным дублированием кода, повышенной производительностью и совместимостью с новыми возможностями GSAP.