3

我不断收到Uncaught ReferenceError: $ is not defined错误。我假设一切正常并且正常工作。我的 JQuery 代码在我的 Javascript 文件中。我认为这不是它的工作原理?我应该有一个 JQuery 文件吗?

我的 HTML 头部有这个 <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

这是我的 Javascript 文件:

function typing(id, sentence){
var result = $.Deferred();
    var index=0;
    var intObject= setInterval(function() {
        document.getElementById(id).innerHTML+=sentence[index]; 
        index++;
        if(index==sentence.length){
            clearInterval(intObject);
        }
    }, 100);
    return result.promise();
}

var sleep = function(ms) {
    var result = $.Deferred();
    setTimeout(result.resolve, ms);
    return result.promise();
};

typing('container','Subject Name:').then(function() {
      return sleep(500);
    }).then(function() {
      return typing('container',' Carlos Miguel Fernando')
    });

我哪里做错了?

4

1 回答 1

10

您的问题相当不清楚,但本质上,您只需要确保在您的代码之前加载 jQuery。例如:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="your-code.js"></script>

或者

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script>
// Your code
</script>

不是

<!-- Not like this -->
<script src="your-code.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

注意标签的顺序。

这些标签不需要放在 中head,事实上,将它们放在那里并不是最佳实践。它们必须在head或中body。除非有特定理由去做其他事情,否则最好的做法是将它们放在 的末尾body,例如:

<!-- site content here -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="your-code.js"></script>
</body>
</html>
于 2013-12-05T10:55:04.963 回答