【问题标题】:Overwriting global scene options in ScrollMagic覆盖 ScrollMagic 中的全局场景选项
【发布时间】:2014-08-22 07:48:02
【问题描述】:

我正在尝试使用 ScrollMagic 构建一个站点,但我遇到了一个问题:我将 reverse 选项全局定义为 false,我似乎无法在特定场景中覆盖此选项。

我有几个场景,只需要一两个场景就有反向动画。将 reverse 选项全局设置为 false 并为特定场景设置反向动画会容易得多。

这是我的代码:

var controller;
$(document).ready(function($) {
    controller = new ScrollMagic({
        globalSceneOptions: {
            reverse: false
        }
    });
});

。 . .

$(document).ready(function($) {
    var tween = TweenMax.from("#works_macbook_top", 1, 
        { rotationX: -80, ease: Sine.easeOut }
    );
    var scene = new ScrollScene({triggerElement: ".works .graphic", duration: 250, offset: -100, reverse: true})
                    .setTween(tween)
                    .addTo(controller);
    scene.addIndicators();
});

动画不会向后播放,因此在场景中设置的 reverse: true 属性似乎不会接管全局设置。

有可能做到这一点吗?希望你能帮我!谢谢!

【问题讨论】:

    标签: jquery gsap superscrollorama scrollmagic


    【解决方案1】:

    西娅!

    将场景添加到控制器时会覆盖 globalSceneOptions。
    这在the documentation中有明确说明:

    将场景添加到控制器时,使用 ScrollScene 构造函数定义的选项将被 globalSceneOptions 中设置的选项覆盖。

    因此,您的解决方案是在将场景添加到控制器后更改反向选项,如下所示:

    var scene = new ScrollScene({triggerElement: ".works .graphic", duration: 250, offset: -100})
        .setTween(tween)
        .addTo(controller)
        .reverse(true) // <- change option after adding to controller
        .addIndicators();
    

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回答!这是我的错。我猜这应该以另一种方式工作,后来在文档中实现了引用的部分。您的解决方案应该适用于我正在搜索的内容。
    猜你喜欢
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多