При работе с библиотекой GSAP (GreenSock Animation Platform) грамотное именование переменных, функций и таймлайнов играет критически важную роль. Имена должны отражать назначение объекта, чтобы облегчить сопровождение кода и его масштабирование.
В GSAP таймлайны создаются с помощью gsap.timeline(). Их
правильное именование помогает понять структуру анимации без
необходимости просматривать каждую строку кода:
const heroEntranceTimeline = gsap.timeline({ defaults: { duration: 1 } });
const menuAnimationTimeline = gsap.timeline({ paused: true });
hero или menu, помогает быстро
идентифицировать область действия анимации.Для одиночных анимаций через gsap.to,
gsap.from или gsap.fromTo также важно давать
понятные имена переменным:
const fadeInTitle = gsap.from('.title', { opacity: 0, y: -50 });
const slideInCards = gsap.to('.card', { x: 100, stagger: 0.2 });
fadeIn, slideIn) и объект
(Title, Cards).GSAP поддерживает метки (labels) для точной
синхронизации анимаций внутри таймлайнов:
heroEntranceTimeline
.addLabel('startHero')
.from('.hero-title', { opacity: 0, y: -100 })
.from('.hero-subtitle', { opacity: 0 }, 'startHero+=0.5');
'startHero', 'fadeCards',
'menuOpen'.Комментирование особенно важно при работе с анимациями, которые зависят от последовательности и условий.
// Таймлайн входа для главного баннера
const heroEntranceTimeline = gsap.timeline({ defaults: { duration: 1 } });
// Появление заголовка с эффектом снизу вверх
heroEntranceTimeline.from('.hero-title', { opacity: 0, y: -100 });
// Появление подзаголовка с задержкой относительно заголовка
heroEntranceTimeline.from('.hero-subtitle', { opacity: 0 }, '+=0.5');
onComplete, onStart, комментарии
помогают понять назначение функций обратного вызова.// После завершения анимации показа баннера активируем кнопку
heroEntranceTimeline.to('.cta-button', { opacity: 1, onComplete: enableCTA });
Следование этим принципам позволяет создавать чистый, читаемый и поддерживаемый код анимаций на GSAP, который легко масштабируется и интегрируется в большие проекты.