SuperScrollOrama和TweenMax淡入和淡出滚动

时间:2014-01-27 19:50:11

标签: jquery tweenmax superscrollorama

我有一系列彩色DIV,当你向下滚动页面时,我正试图淡入淡出。

我对div的设置很简单:

<div class="wrapper">
        <div id="content" class="clearfix">
            <div class="box alpha"></div>
            <div class="box beta"></div>
            <div class="box gamma last"></div>
            <div class="box delta"></div>
            <div class="box epsilon"></div>
            <div class="box zeta last"></div>
        </div>
    </div>

这是我的superscrollorama / tweenmax脚本:

var controller = $.superscrollorama();
controller.addTween('.box.alpha', TweenMax.from( $('.box.alpha'), 1, {css:{opacity: 1} ,ease:Quad.easeInOut}), 400);
controller.addTween('.box.alpha', TweenMax.to( $('.box.alpha'), 1, {css:{opacity: .2}}), 1600);
controller.addTween('.box.beta', TweenMax.from( $('.box.beta'), 1, {css:{opacity: .2}}), 1600);
controller.addTween('.box.beta', TweenMax.to( $('.box.beta'), 1, {css:{opacity: 1} ,ease:Quad.easeInOut}), 2400);
controller.addTween('.box.gamma', TweenMax.from( $('.box.gamma'), 1, {css:{opacity: .2}}), 2400);
controller.addTween('.box.gamma', TweenMax.to( $('.box.gamma'), 1, {css:{opacity: 1} ,ease:Quad.easeInOut}), 3200);
controller.addTween('.box.delta', TweenMax.from( $('.box.delta'), 1, {css:{opacity: .2}}), 3200);
controller.addTween('.box.delta', TweenMax.to( $('.box.delta'), 1, {css:{opacity: 1} ,ease:Quad.easeInOut}), 4000);
controller.addTween('.box.epsilon', TweenMax.from( $('.box.epsilon'), 1, {css:{opacity: .2}}), 4000);
controller.addTween('.box.epsilon', TweenMax.to( $('.box.epsilon'), 1, {css:{opacity: 1} ,ease:Quad.easeInOut}), 4800);
controller.addTween('.box.zeta', TweenMax.from( $('.box.zeta'), 1, {css:{opacity: .2}}), 4800);
controller.addTween('.box.zeta', TweenMax.to( $('.box.zeta'), 1, {css:{opacity: 1} ,ease:Quad.easeInOut}), 5600);

当你向下滚动页面时,一切都消失了,但我想要一个框淡出,而下一个框正在淡入,我可能做错了但我找不到很多文档。

以下是我正在做的事:http://emptywalrus.com/scroll/

1 个答案:

答案 0 :(得分:0)

您需要创建Timeline。这是我在其中一个项目中做过的同样事情的样本:

controller.addTween(
    '#the-problem',
    (new TimelineLite())
        .append([
            TweenMax.fromTo($('#the-problem .animation-heading'), 1,
                { delay: 0.3, css: { right: -1500 }, ease: Expo.easeInOut },
                { delay: 0.3, css: { right: 0 }, ease: Expo.easeInOut }),
            TweenMax.fromTo($('#the-problem .animation-text'), 1,
                { delay: 0.1, css: { right: -1500 }, ease: Expo.easeInOut },
                { delay: 0.1, css: { right: 0 }, ease: Expo.easeInOut }),
            TweenMax.fromTo($('#the-problem .animation-image'), 1,
                { delay: 0.1, css: { left: -1500 }, ease: Expo.easeInOut },
                { delay: 0.1, css: { left: 0 }, ease: Expo.easeInOut })
        ]), 700, -400);

controller.addTween(
    '#the-solution',
    (new TimelineLite())
        .append([
            TweenMax.fromTo($('#the-solution .animation-heading'), 1,
                { delay: 0.3, css: { left: -1500 }, ease: Expo.easeInOut },
                { delay: 0.3, css: { left: 0 }, ease: Expo.easeInOut }),
            TweenMax.fromTo($('#the-solution .animation-text'), 1,
                { delay: 0.1, css: { left: -1500 }, ease: Expo.easeInOut },
                { delay: 0.1, css: { left: 0 }, ease: Expo.easeInOut }),
            TweenMax.fromTo($('#the-solution .animation-image'), 1,
                { delay: 0.1, css: { right: -1500 }, ease: Expo.easeInOut },
                { delay: 0.1, css: { right: 0 }, ease: Expo.easeInOut })
        ]), 700, -400);