我正在使用HTML,CSS和JS。我正在尝试使用JQuery库,但我的html文件无法识别它。我将它插入到我的外部.js文件上面,所以我不认为这是问题所在。这是我的HTML文件中的内容:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="js/tether.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/main.js"></script>
这是我的JS文件中的内容:
$(document).ready(function() {
$(window).scroll(function() {
if ($(window).scrollTop() > 970) {
$('.navbar').addClass('navbar-fixed-top');
}
});
});
由于以下错误,我保存此js文件时,我的代码编辑器会抛出错误:
- '$'在定义之前使用过。
- 期望'function and'(''之间只有一个空格
任何人都知道问题可能是什么?提前致谢。
这可能不是问题,但您可能希望尝试通过HTTPS(https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
)加载jquery文件,尤其是在HTTPS连接上运行站点时。
否则,它在我测试时似乎有效:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(window).scroll(function() {
if ($(window).scrollTop() > 970) {
$('.navbar').addClass('navbar-fixed-top');
}
});
console.log("done!")
});
</script>
问题出在你的<script>
标签上,因为@ B.Fleming说可能是HTTPS
协议。这个标签工作正常:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
把它放在你使用jQuery的代码的顶部
/* global $ */
交替使用window
作为前缀
我不喜欢使用全局$ sign cuz,其他lib也在使用它。我可以使用的是从这个闭包函数获得$
jQuery(function($){
// document is ready, You may use jquery here and now
$('body')
})
并且没有使用window.jQuery
来定义jQuery
ps,尽可能从https加载东西