Я добавил TimeLineMax в сцену, над которой работаю. Функциональность работает отлично, но у меня проблемы с некоторыми деталями.
Я хочу, чтобы моя сцена была закреплена как этот сайт http://www.google.com/inbox/#bundles. Для этого я хочу, чтобы в одной сцене было несколько контактов, чтобы пользователь не мог прокручивать мои анимации, не просматривая их.
Вот демонстрационный сайт моей работы: https://so-staging.herokuapp.com/users/sign_in#publisher-demo-container
Вы можете увидеть мой прогресс, если прокрутите вниз. Появятся три шага, а затем их анимация исчезнет. Я также скорректировал положение фона # publisher-demo-steps на основе прокрутки.
Однако это не желаемая цель. Я бы хотел это: 1. Пин # publisher-demo 2. Активировать анимированную фоновую позицию шага 1 при прокрутке. 3. Пожарная ступень 2 4. Пожарная ступень 3
Я хотел бы, чтобы каждый шаг был закреплен, чтобы пользователь не мог перейти к следующему шагу, пока анимация не будет завершена.
Я знаю, что это сбивает с толку, и слишком долго смотрел на это. Спасибо за помощь. Вот мой код scrollmagic и GSAP.
var controller = new ScrollMagic ();
var tween = new TimelineMax()
.add(TweenMax.to("#publisher-demo-steps", 0.5, {backgroundPosition : "50% 23%"}))
.add(TweenMax.to(".blue-circle", 1, {display: "block"}))
.add(TweenMax.to(".blue-circle", 1, {className: "+=animated zoomOut", display: "none", delay:3}))
.add(TweenMax.to("#publisher-demo-steps", 0.5, {backgroundPosition : "22% 52%"}))
.add(TweenMax.to(".red-circle", 1, {display: "block"}))
.add(TweenMax.to(".red-circle", 1, {className: "+=animated zoomOut", display: "none", delay:3}))
.add(TweenMax.to("#publisher-demo-steps", 0.5, {backgroundPosition : "76% 50%"}))
.add(TweenMax.to(".green-circle", 1, {display: "block"}))
.add(TweenMax.to(".green-circle", 1, {className: "+=animated zoomOut", display: "none", delay:3}));
var scene = new ScrollScene({triggerElement: "#publisher-demo", duration: 4000, triggerHook: -100})
.setPin("#publisher-demo")
.setTween(tween)
.addTo(controller);