我已将 TimeLineMax 添加到我正在处理的场景中。该功能运行良好,但我在一些细节上遇到了麻烦。
我希望我的场景像这个网站一样固定http://www.google.com/inbox/#bundles。通过这种方式,我希望在一个场景中有多个引脚,这样用户就无法在不查看动画的情况下滚动浏览我的动画。
这是我迄今为止工作的演示站点:https ://so-staging.herokuapp.com/users/sign_in#publisher-demo-container
如果您向下滚动,您可以看到我的进度。三个步骤将弹出,然后动画消失。我还根据滚动调整了#publisher-demo-steps 的背景位置。
然而,这不是理想的目标。我想要这个: 1. Pin #publisher-demo 2. 在滚动时触发第 1 步动画背景位置。3. 启动第 2 步 4. 启动第 3 步
我希望每个步骤都被固定,以便用户在动画完成之前无法进入下一步。
我知道这很令人困惑,而且我一直盯着它看太久了。谢谢您的帮助。这是我的滚动魔术和 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);