【问题标题】:ScrollMagic - Uncaught ReferenceError: ScrollScene is not definedScrollMagic - 未捕获的 ReferenceError:未定义 ScrollScene
【发布时间】:2018-02-07 20:59:58
【问题描述】:

为什么最新版的ScrollMagic会在下面给我这个错误?

Uncaught ReferenceError: ScrollScene is not defined

这是我在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)

文件名和文件夹结构完全是一团糟。混乱和不一致!

【问题讨论】:

    标签: javascript jquery scrollmagic


    【解决方案1】:

    您也必须导入 gsap 插件。检查滚动魔术文件夹。 animation.gsap.min.js

    【讨论】:

    • 从 scrollmagic 文件夹中添加 animation.gsap.min.js 后出现更多错误(请参阅我的编辑 2)。文件名和文件夹结构完全是一团糟。令人困惑和不一致!
    • 如果这不能解决问题,为什么这是一个公认的答案?
    【解决方案2】:

    尝试使用

    new $.ScrollMagic.Scene
    

    而不是

    new ScrollMagic.Scene
    

    应该有帮助。 如果您使用 1.3.0 版本,它可以在没有 '$.' 的情况下使用。

    【讨论】:

      猜你喜欢
      • 2018-08-14
      • 2023-01-23
      • 2016-11-03
      • 2011-01-05
      • 2016-01-02
      • 2013-10-06
      • 2016-12-17
      相关资源
      最近更新 更多