ScrollMagic - 未捕获的ReferenceError:未定义ScrollScene

时间:2017-02-12 18:26:43

标签: javascript jquery scrollmagic

为什么最新版本的ScrollMagic会在下面给出此错误?

  

未捕获的ReferenceError:未定义ScrollScene

这是我在guide之后的测试代码:

$(function() {
    // Init Controller
    var scrollMagicController = new ScrollMagic();

    // Create Animation for 0.5s
    var tween = TweenMax.to('#animation', 0.5, {
        backgroundColor: 'rgb(255, 39, 46)',
        scale: 7,
        rotation: 360
    });

    // Create the Scene and trigger when visible with ScrollMagic
    var scene1 = new ScrollScene({
        triggerElement: '#scene',
        offset: 150 /* offset the trigger 150px below #scene's top */
    })
    .setTween(tween)
    .addTo(scrollMagicController);

    // Add debug indicators fixed on right side
    scene1.addIndicators();
});

如果我使用的是最新版本:

<script src="//cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/debug.addIndicators.min.js"></script>

完整错误:

Uncaught ReferenceError: ScrollScene is not defined
    at HTMLDocument.<anonymous> (basic.php:66)
    at c (jquery.min.js:3)
    at Object.fireWith [as resolveWith] (jquery.min.js:3)
    at Function.ready (jquery.min.js:3)
    at HTMLDocument.H (jquery.min.js:3)

但是,如果我使用这个版本(我想更老),它可以正常工作:

<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/1.3.0/jquery.scrollmagic.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/1.3.0/jquery.scrollmagic.debug.js"></script>

我的HTML:

  <div class="post">
        <span class="glyphicon glyphicon-grain"> </span>
        <h2> Lorem ipsum dolor sit amet, consetetur sadipscing elitr</h2>
    </div>

    <div class="post" id="scene">
        <span class="glyphicon glyphicon-lamp" id="animation"> </span>
        <h2> Lorem ipsum dolor sit amet, consetetur sadipscing elitr</h2>
    </div>

任何想法为什么?

修改

如果我使用github中的指南:

// Init Controller
var scrollMagicController = new ScrollMagic.Controller();

// Create Animation for 0.5s
var tween = TweenMax.to('#animation', 0.5, {
    backgroundColor: 'rgb(255, 39, 46)',
    scale: 7,
    rotation: 360
});

// Create the Scene and trigger when visible with ScrollMagic
var scene1 = new ScrollMagic.Scene({
    triggerElement: '#scene',
    offset: 150 /* offset the trigger 150px below #scene's top */
})janpaepke-ScrollMagic/scrollmagic/minified/plugins/debug.addIndicators.min.js
.setTween(tween)
.addTo(scrollMagicController);

// Add debug indicators fixed on right side
scene1.addIndicators();

我会收到此错误:

Uncaught TypeError: (intermediate value).setTween is not a function
    at HTMLDocument.<anonymous> (basic.php:70)
    at c (jquery.min.js:3)
    at Object.fireWith [as resolveWith] (jquery.min.js:3)
    at Function.ready (jquery.min.js:3)
    at HTMLDocument.H (jquery.min.js:3)

为什么!????他们的文件很糟糕!

编辑2:

所以我使用下载的版本:

<script src="libs/janpaepke-ScrollMagic/js/lib/greensock/TweenMax.min.js"></script>
<script src="libs/janpaepke-ScrollMagic/scrollmagic/minified/plugins/animation.gsap.min.js"></script>

<!-- should be replaced with minified version when development is finished -->
<script src="libs/janpaepke-ScrollMagic/scrollmagic/minified/plugins/jquery.ScrollMagic.min.js"></script>

<!-- should be removed when development is finished -->
<script src="libs/janpaepke-ScrollMagic/scrollmagic/minified/plugins/debug.addIndicators.min.js"></script>

我得到更多错误:

 jquery.ScrollMagic.min.js:2 Uncaught TypeError: Cannot read property '_util' of undefined
    at jquery.ScrollMagic.min.js:2
    at jquery.ScrollMagic.min.js:2
    at jquery.ScrollMagic.min.js:2
(anonymous) @ jquery.ScrollMagic.min.js:2
(anonymous) @ jquery.ScrollMagic.min.js:2
(anonymous) @ jquery.ScrollMagic.min.js:2
debug.addIndicators.min.js:2 Uncaught TypeError: Cannot read property '_util' of undefined
    at debug.addIndicators.min.js:2
    at debug.addIndicators.min.js:2
    at debug.addIndicators.min.js:2
(anonymous) @ debug.addIndicators.min.js:2
(anonymous) @ debug.addIndicators.min.js:2
(anonymous) @ debug.addIndicators.min.js:2
basic.php:65 Uncaught ReferenceError: ScrollMagic is not defined
    at HTMLDocument.<anonymous> (basic.php:65)
    at c (jquery.min.js:3)
    at Object.fireWith [as resolveWith] (jquery.min.js:3)
    at Function.ready (jquery.min.js:3)
    at HTMLDocument.H (jquery.min.js:3)

文件名和文件夹结构完全混乱。令人困惑和不一致!

2 个答案:

答案 0 :(得分:2)

尝试使用

new $.ScrollMagic.Scene

而不是

new ScrollMagic.Scene

应该有所帮助。 如果您使用的是1.3.0版本,则无需使用“$。”

答案 1 :(得分:1)

您也必须导入gsap插件。检查scrollmagic文件夹。 的 animation.gsap.min.js