欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示(兩種方法)

 更新時(shí)間:2015年08月23日 15:12:12   投稿:mrr  
本篇文章是基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示,當(dāng)點(diǎn)擊不同導(dǎo)航菜單實(shí)現(xiàn)當(dāng)前點(diǎn)擊的菜單是高亮的,有需要的朋友可以關(guān)注下本文

項(xiàng)目需求:

實(shí)現(xiàn)原理:當(dāng)選中當(dāng)前元素時(shí),給當(dāng)前元素添加樣式,同級(jí)元素移除樣式。

點(diǎn)擊不同的導(dǎo)航菜單實(shí)現(xiàn)當(dāng)前點(diǎn)擊的菜單是高亮的,點(diǎn)擊導(dǎo)航下面的某個(gè)分類,分類所屬的導(dǎo)航也必須是高亮的,點(diǎn)擊某一篇文章,文章所屬的導(dǎo)航菜單也必須是高亮的.

效果圖如下:

示例代碼一:

具體示例代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>我愛學(xué)習(xí)</title>
<style>
body,ul,ol,li,div,p{margin:0px;padding:0px;}
ul{list-style-type:none;border:1px solid blue;background:#4f5b93;height:45px;}
ul li{float:left;heihgt:45px;line-height:45px;width:100px;text-align:center;}
ul li a:link,a:visited{color:#fff;text-decoration:none;}
.act{background:#ff6600;}
</style>
<script src="../jquery.js"></script>
<script>
$(function(){
$('ul li').eq(0).addClass("act");
 $('ul li').each(function(){
  $(this).click(function(){
    $(this).addClass("act").siblings().removeClass("act");
   })
 })
})
</script>
</head>
<body>
<ul>
<li><a >首頁</a></li>
<li><a >隨筆</a></li>
<li><a >素材</a></li>
<li><a >編程</a></li>
</ul>
</body>
</html>

示例代碼二:

在菜單層的鏈接加上一個(gè)rel屬性,保存href屬性即:

<div id="menu" class="main-nav">
      <dl>
       <dt><a href="/C000001916" class="current">首頁<span class="mnl"></span></a></dt>
      </dl>
      <dl>
        <dt><a href="/C000001919?lmbm=1" <span style="color: #ff0000;">rel="/C000001919?lmbm=1"</span>>新聞中心<span class="mnl"></span></a></dt>
        <dd class="sn-c">
          <a href="#">產(chǎn)品理念2</a>
          <em>|</em>
          <a href="#">發(fā)展歷程</a>
          <em>|</em>
          <a href="#">應(yīng)用范圍</a>
          <em>|</em>
          <a href="#">技術(shù)架構(gòu)</a>
        </dd>
      </dl>
      <dl>
        <dt><a href="/C000001919?lmbm=2" <span style="color: #ff0000;">rel="/C000001919?lmbm=2"</span>>產(chǎn)品介紹<span class="mnl"></span></a></dt>
        <dd class="sn-c sn3">
          <a href="#">產(chǎn)品理念</a>
          <em>|</em>
          <a href="#">發(fā)展歷程3</a>
          <em>|</em>
          <a href="#">應(yīng)用范圍</a>
          <em>|</em>
          <a href="#">技術(shù)架構(gòu)</a>
        </dd>
      </dl>
    </div>

  然后利用瀏覽器地址欄中的URL和rel對(duì)比,如果相等就在當(dāng)前的<a>標(biāo)簽加上class,同時(shí)移除其它<a>標(biāo)簽的class.<script type="text/javascript">

 var urlstr = location.href;    //獲取瀏覽器的url
 var urlstatus=false;        //標(biāo)記
 //遍歷導(dǎo)航div
 $("#menu a").each(function () {
//判斷導(dǎo)航里面的rel和url地址是否相等
  if ((urlstr + '/').indexOf($(this).attr('rel')) > -1&&$(this).attr('rel')!='') {
   $(this).addClass('cur'); urlstatus = true;
  } else {
   $(this).removeClass('cur');
  }
 });
//當(dāng)前樣式保持
 if (!urlstatus) {$("#menu a").eq(0).addClass('cur'); }
</script>

這個(gè)也能基本實(shí)現(xiàn)效果,但是如果在導(dǎo)航下如果有分類,如圖.這樣分類url和導(dǎo)航的url就不能匹配了,然后新聞的url和導(dǎo)航的url也不能匹配.所以還是有點(diǎn)扯淡.....那怎么辦呢?

所以我的思路是這樣的

既然url不一樣,那就找導(dǎo)航-->分類-->新聞之間的關(guān)系了.他們的對(duì)應(yīng)關(guān)系是一個(gè)導(dǎo)航下可能有多個(gè)分類,一個(gè)分類下可能有多篇新聞.那么逆向的來說,每一篇新聞或者分類都對(duì)應(yīng)一個(gè)導(dǎo)航.那么在對(duì)應(yīng)的的分類頁面和新聞頁面都定義一個(gè)變量就是導(dǎo)航標(biāo)識(shí).然后修改導(dǎo)航<div>的<a>標(biāo)簽的rel屬性.該屬性與該變量對(duì)比,如果一樣就改當(dāng)前的class.

以上內(nèi)容就是通過兩種方式給大家介紹基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示,希望對(duì)大家有所幫助。

相關(guān)文章

最新評(píng)論