Rumah > hujung hadapan web > tutorial js > Melaksanakan penonjolan menu navigasi berdasarkan jquery (dua kaedah)_kemahiran javascript

Melaksanakan penonjolan menu navigasi berdasarkan jquery (dua kaedah)_kemahiran javascript

WBOY
Lepaskan: 2016-05-16 15:43:36
asal
1657 orang telah melayarinya

Keperluan projek:

Prinsip pelaksanaan: Apabila elemen semasa dipilih, tambahkan gaya pada elemen semasa dan alih keluar gaya daripada elemen tahap yang sama.

Klik pada menu navigasi yang berbeza untuk menyerlahkan menu yang sedang diklik Klik pada kategori di bawah navigasi, dan navigasi yang tergolong dalam kategori tersebut juga mesti diserlahkan pada artikel dan menu navigasi yang dimiliki oleh artikel tersebut mesti juga diserlahkan.

Rendering adalah seperti berikut:

Contoh kod satu:

Kod sampel khusus adalah seperti berikut:

<!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>我爱学习</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 href="http://www.52aixuexi.com/">首页</a></li>
<li><a href="http://www.52aixuexi.com/wdwzml/suibi/">随笔</a></li>
<li><a href="http://www.52aixuexi.com/wdwzml/sucai/">素材</a></li>
<li><a href="http://www.52aixuexi.com/wdwzml/biancheng/">编程</a></li>
</ul>
</body>
</html>
Salin selepas log masuk

Contoh kod dua:

Tambahkan atribut rel pada pautan di peringkat menu dan simpan atribut 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&#63;lmbm=1" <span style="color: #ff0000;">rel="/C000001919&#63;lmbm=1"</span>>新闻中心<span class="mnl"></span></a></dt>
        <dd class="sn-c">
          <a href="#">产品理念2</a>
          <em>|</em>
          <a href="#">发展历程</a>
          <em>|</em>
          <a href="#">应用范围</a>
          <em>|</em>
          <a href="#">技术架构</a>
        </dd>
      </dl>
      <dl>
        <dt><a href="/C000001919&#63;lmbm=2" <span style="color: #ff0000;">rel="/C000001919&#63;lmbm=2"</span>>产品介绍<span class="mnl"></span></a></dt>
        <dd class="sn-c sn3">
          <a href="#">产品理念</a>
          <em>|</em>
          <a href="#">发展历程3</a>
          <em>|</em>
          <a href="#">应用范围</a>
          <em>|</em>
          <a href="#">技术架构</a>
        </dd>
      </dl>
    </div>
Salin selepas log masuk

Kemudian bandingkan URL dan rel dalam bar alamat penyemak imbas Jika ia sama, tambahkan kelas pada teg dan alih keluar kelas teg /javascript">

 var urlstr = location.href;    //获取浏览器的url
 var urlstatus=false;        //标记
 //遍历导航div
 $("#menu a").each(function () {
//判断导航里面的rel和url地址是否相等
  if ((urlstr + '/').indexOf($(this).attr('rel')) > -1&&$(this).attr('rel')!='') {
   $(this).addClass('cur'); urlstatus = true;
  } else {
   $(this).removeClass('cur');
  }
 });
//当前样式保持
 if (!urlstatus) {$("#menu a").eq(0).addClass('cur'); }
</script>
Salin selepas log masuk

Ini juga pada asasnya boleh mencapai kesan, tetapi jika terdapat kategori di bawah navigasi, seperti yang ditunjukkan dalam rajah Dengan cara ini, url kategori dan url navigasi tidak boleh sepadan, dan kemudian url berita dan url navigasi. tidak boleh menandingi. Jadi ia masih agak karut .....Apa yang perlu kita lakukan?

Jadi ini idea saya

Memandangkan URL berbeza, kemudian cari hubungan antara navigasi-->kategori-->berita Hubungan sepadannya ialah mungkin terdapat berbilang kategori di bawah satu navigasi dan mungkin terdapat berbilang artikel berita di bawah satu. kategori. Jadi dalam istilah terbalik, setiap berita atau kategori sepadan dengan navigasi Kemudian tentukan pembolehubah pada halaman kategori dan halaman berita, yang merupakan pengecam navigasi Kemudian ubah suai teg

; rel atribut. Bandingkan atribut ini dengan pembolehubah Jika ia adalah sama, tukar kelas semasa.

Kandungan di atas adalah untuk memperkenalkan anda kepada penyerlahan menu navigasi berdasarkan jquery dalam dua cara saya harap ia akan membantu anda.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan