效果如下:
. 代碼如下:
<DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<meta charset="UTF-8">
<style>
.nav{height:40px; width: 100%;background: #E6E6E6;}
.nav ul li{float: left;list-style: none;margin-right: 20px;line-height: 40px;}
.nav ul li a{text-decoration: none; display: block;width: 60px; text-align: center;}
.onNav{font-weight: bold;color:#fff; background: #ccc;}
</style>
</head>
<body>
<div class="nav">
<ul>
<li><a href="#" class="onNav">首頁</a></li>
<li><a href="#">博客</a></li>
<li><a href="#">論壇</a></li>
<li><a href="#">關於</a></li>
<li><a href="#">聯系</a></li>
</ul>
</div>
<script type="text/javascript">
$(".nav ul li a").click(function(){if($(this).has(".onNav")){
$(this).addClass("onNav").parent("li").siblings("li").find("a").removeClass("onNav");}})
</script>
</body>
</html>
js部分:
. 代碼如下:
<script type="text/javascript">
$(".nav ul li a").click(function(){if($(this).has(".onNav")){ //找到a標簽添加click事件,判斷是否有背景存在
$(this).addClass("onNav").parent("li").siblings("li").find("a").removeClass("onNav");}}) //添加類並移除已有的類
</script>
上面是一種方法,以下是另外一種:
. 代碼如下:
<script type="text/javascript">
$(".nav ul li a").click(function(){ //找到a標簽並添加click事件
var inx = $(this).parent("li").index(); //定義變量inx,返回這個元素在同輩中的索引位置
$(".nav ul li").find("a").removeClass("on_nav"); //移除已有的類
$(".nav ul li").eq(inx).find("a").addClass("on_nav"); //獲取點擊元素並添加類
</script>