2

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

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

这是我的代码:

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 属性似乎不会接管全局设置。

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

4

1 回答 1

5

齐亚!

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

当场景被添加到控制器时,使用 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();

希望这可以帮助。

于 2014-09-05T15:41:15.003 回答