-2

你可以在这里找到我正在建立的网站。

有一个带有一些 jQuery 代码的menu.js。<li>当鼠标悬停在菜单的某个部分 (this) 上时,它应该为菜单的部分 () 着色。但它似乎不起作用。我将 jQuery ( jQuery.min.js )所需的文件链接到我的home.php并且我对jquery.animate-colors.js做了同样的事情,但它不起作用。有人知道为什么吗?

PS:如果您查看style.css并删除ul#avmenu a:hover{}部分周围的 /* 和 */ ,您会看到会发生什么,但我想使用 jQuery,因为我想要一个流畅的动画。

4

4 回答 4

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>
于 2013-06-30T10:28:55.630 回答
0

在您的 jQuery 代码中更改('this')(this)不带引号。

于 2013-06-30T10:28:35.903 回答
0

知道了!但现在还有另一个问题。菜单中的其中一个 li 具有class="active"属性。在我的 css 中有一行代码,它表示类处于活动状态的代码具有不同的颜色(无论它是否是悬停)。现在,我的 jQuery 代码使用ul#avmenu a接管了所有内容,因此带有class="active"的代码也会对鼠标悬停做出反应,并且永远不会是它应有的颜色,不会在鼠标悬停时也不会没有它。如何在我的 jQuery (menu.js) 中排除ul#avmenu a.active ?

于 2013-07-04T21:53:27.187 回答
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。重新加载页面时,您可以看到 aReferenceError: jQuery is not defined已给出。

于 2013-06-30T10:29:44.593 回答