我不断收到
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',' Hi')
});
我哪里做错了?
你的问题相当不清楚,但本质上,你只需要确保 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>