我正在尝试使用jQuery进行平滑滚动效果,但在控制台中它显示以下错误消息:
main.js:253 Uncaught TypeError:$不是函数 在main.js:253
我正在使用的JQuery代码:
(function($) {
$('#what, .down').click(function() {
e.preventDefault();
var target= $(this).get(0).id == 'what' ? $('.down') : $('#what');
$('html, body').stop().animate({
scrollTop: target.offset().top
}, 1000);
});
})(jQuery);
我的代码有什么问题吗?
答案 0 :(得分:2)
错误
$不是main.js的函数
假设您使用开发人员工具中的控制台/网络标签检查了jquery库是否正在加载而没有问题
解决方案1
可能是因为在加载jquery之前首先加载了外部javascript。要使用requirejs
解决此问题,请点击此链接以了解用法http://requirejs.org/docs/api.html
解决方案2 更新您使用的Jquery版本,可能是您使用的旧版本
Soluton 3
在JS文件中使用它。
jQuery(document).ready(function($){
// jQuery code is in here
});
声明后,您将能够访问$
答案 1 :(得分:1)
错误
$不是main.js的函数
表示您的jQuery没有正确包含在您的文档中。确保:
示例:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
答案 2 :(得分:0)
Main.js
。答案 3 :(得分:0)
此错误即将发生,因为您尚未添加jQuery库文件。 您也可以使用CDN(内容分发网络)调用库文件,也可以在main.js之前下载库文件并调用jquery库