在此页面上,您将看到我的页面。我做了一个菜单。我想通过突出显示悬停时的链接来更清楚地表明这个菜单是一个菜单。虽然我通常会使用 JavaScript,但 jQuery 听起来更易于实现,因为它具有.hover
. 所以为了突出列表中的元素,我添加了这个脚本:
<script>
$("li").hover(
function(){
$(this).css("background-color", "#525252");
},
function() {
$(this).css("background-color", "#FFF");
}
);
</script>
在我对 jQuery 的理解中,当用户将鼠标悬停在 li 元素上时,会运行 hover() 函数中嵌入的第一个函数。第二个函数在鼠标离开 li 元素时运行。jQuery API 链接。然而,添加的脚本似乎根本没有做任何事情。
我的第一次尝试是更改第一行
$("li")
因为这可能不是正确的方法。这是因为它是一个ul
li
所以我尝试ul
li
而不是只是li
.
第二种解决方案是使用 addClass 但让另一个类听起来有点多余。所以我决定不使用这个。
最后,我尝试添加一个警报,以查看代码是否在悬停时运行。情况就是这样。当我在代码中添加警报并将鼠标悬停在 li 元素上时,警报没有被触发。所以据我了解,错误代码只有一行:
$("li").hover()
但是我还没有发现这里到底有什么问题。
菜单的 HTML 代码如下:
<div id="menu">
<ul>
<li><strong><em><u>Main Menu</u></em></strong></li>
<li onclick="moveDiv('home');">Home</li>
<li onclick="moveDiv('profile')">Profile</li>
<li onclick="moveDiv('news')">News</li>
<li onclick="moveDiv('forums')">Forums</li>
<li onclick="moveDiv('webshop')">Web Shop</li>
<li onclick="moveDiv('status')">Status</li>
</ul>
</div>
CSS 表:
#menu ul li {
list-style-type: none;
margin-top: 10px;
clear: left;
cursor: pointer;
}
#menu ul {
margin: 0px;
padding: 0px;
color: #525252;
}
#menu ul li a {
text-decoration: none;
color: #525252;
}