0

我的网站上有导航栏。以下是带有css的代码

CSS

#navbar
{
width : auto;
height : 80px;
margin:15px 0px 0px 400px;
float:left;
}

#navbar ul
{
margin:0px;
padding:0px;
display:inline;
}

#navbar ul li
{
list-style:none;
float:left;
display:inline;

}

#navbar ul li a {
float:left;
display:inline;
font-family:arial;
font-size:16px;
font-weight:bold;
color:#505050;
margin: 20px 10px 0px 10px ;
padding : 5px;
width : 90px;
text-align:center;
border-radius:3px;
text-decoration:none;
}

#navbar ul li a:hover
{
background : #C84A30;
color:white;
}

#navbar ul li a.current {
background : #1D78B8;
color:white;
}

的HTML

<div id="navbar">
<ul>
<li><a href="#" class="current">Home</a></li>   
<li><a href="#">About Us</a></li>
<li><a href="#">Products</a></li>
<li><a href="#">Contact Us</a></li>    
<li><a href="#">Login</a></li>
</ul>
</div> 

这是我正在使用的 Jquery

$(document).ready(function(){
$("#navbar ul li a").hover(function() { 
$(this).animate({ backgroundColor: "#C84A30" }, 100); 
}, function() {
$(this).animate({ backgroundColor: "transparent" }, 300); 
});
})

我想要的是,每当用户悬停导航栏的任何项目时,背景颜色都应该以红色进行动画处理。但是,这也适用于当前项目,即。当前班级。我不希望当前类应该受到 jquery 的影响。

例如:当前页面是主页,然后用css当前类修改主页选项卡。当用户将鼠标悬停在任何其他选项卡上时,即 About us 。背景应动画为红色。但不应影响主页选项卡。

请帮忙

4

1 回答 1

3

试试这个......使用.not()

$(document).ready(function(){
    $("#navbar ul li a").not(".current").hover(function() { 
         $(this).animate({ backgroundColor: "#C84A30" }, 100); 
    }, function() {
         $(this).animate({ backgroundColor: "transparent" }, 300); 
    });
})

链接演示

于 2013-04-11T06:44:00.307 回答