您可以在here找到我正在建设的网站。
menu.js 包含一些jQuery代码。当鼠标悬停在菜单的这一部分(this)上时,它应该为菜单的部分(<li>
)着色。但似乎没有用。我将jQuery( jQuery.min.js )所需的文件链接到我的 home.php ,我对 jquery.animate-colors进行了同样的操作。 .js ,但它不起作用。有人知道为什么吗?
PS:如果您查看 style.css 并删除 ul#avmenu a:hover {} 部分周围的/ *和* /,您会看到会发生什么,但我想使用jQuery,因为我想要一个流畅的动画。
答案 0 :(得分:1)
那是因为你首先加载animate.js而jquery第二次 ..因为animate.js依赖于jquery ..你的错误说jQuery没有定义... 加载jquery .js首先
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"</script>
<script src="jquery.animate-colors.js"></script>
答案 1 :(得分:0)
在您的jQuery代码中,将('this')
更改为(this)
,不带引号。
答案 2 :(得分:0)
您在加载jquery之前加载了animate-colors js文件,因此动画颜色无法访问Jquery函数...
所以,而不是:
<script src="jquery.animate-colors.js">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
像这样:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
<script src="jquery.animate-colors.js">
您可以通过查看Firebug中的“控制台”选项卡来调试该btw。重新加载页面时,您可以看到ReferenceError: jQuery is not defined
已被授予。
答案 3 :(得分:0)
知道了!但现在还有另一个问题。菜单中的其中一个有一个 class =&#34; active&#34; 属性。在我的CSS中有一行代码,表示该类具有不同颜色的活动(无论是否是悬停)。现在,我的jQuery代码接管了 ul#avmenu a 的所有内容,因此 class =&#34; active&#34; 的代码也会对鼠标悬停做出反应,并且永远不应该是它应该是的颜色,而不是鼠标悬停,而不是没有它。如何在jQuery(menu.js)中排除 ul #avmenu a.active ?