我在html和css中创建了一个下拉菜单系统,但是当我检查元素>时,js为我的两个js文件显示以下错误: Chrome中的控制台:
Uncaught ReferenceError: $ is not defined for filters.js
Uncaught ReferenceError: $ is not defined for jquery.min.js
下拉菜单不会显示。
我的html页面底部有标签,之前加载如下:
<script type="text/javascript" src="../scripts/jquery.min.js"></script>
<script type="text/javascript" src="../scripts/filters.js"></script>
这是files.js的js
$(function() {
/**
* the element
*/
var $ui = $('#ui_element');
/**
* on focus and on click display the dropdown,
* and change the arrow image
*/
$ui.find('.sb_input').bind('focus click', function() {
$ui.find('.sb_down').addClass('sb_up').removeClass('sb_down').andSelf().find('.sb_dropdown').show();
});
/**
* on mouse leave hide the dropdown,
* and change the arrow image
*/
$ui.bind('mouseleave', function() {
$ui.find('.sb_up').addClass('sb_down').removeClass('sb_up').andSelf().find('.sb_dropdown').hide();
});
/**
* selecting all checkboxes
*/
$ui.find('.sb_dropdown').find('label[for="all"]').prev().bind('click', function() {
$(this).parent().siblings().find(':checkbox').attr('checked', this.checked).attr('disabled', this.checked);
});
});
这是jquery.min.js的js
var cbpHorizontalMenu=(function(){var b=$("#cbp-hrmenu > ul > li"),g=b.children("a"),c=$("body"),d=-1;function f(){g.on("click",a);b.on("click",function(h){h.stopPropagation()})}function a(j){if(d!==-1){b.eq(d).removeClass("cbp-hropen")}var i=$(j.currentTarget).parent("li"),h=i.index();if(d===h){i.removeClass("cbp-hropen");d=-1}else{i.addClass("cbp-hropen");d=h;c.off("click").on("click",e)}return false}function e(h){b.eq(d).removeClass("cbp-hropen");d=-1}return{init:f}})();
有什么想法吗?
答案 0 :(得分:2)
jquery.min.js应该是这样的:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
您正在使用不正确的jquery代码。 Jquery是定义$
的原因,这就是为什么它不适用于你的javascript代码。
简单地替换
<script type="text/javascript" src="../scripts/jquery.min.js"></script>
使用
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
或指向JQuery代码版本的链接。