你並不需要使用Javascript/jQuery的這個
你可以做的就是給每個頁面的<body>
元素或主容器div
一個唯一的ID或類近的HTML的頂部某處結構無論如何..然後給你的菜單中的每個鏈接一個唯一的ID或類(如果使用類,他們可以是相同的第一個)
eg
<body class="nm-unl">
<ul id="in-menu">
<li class="nm-unl"><a href="unleashing-your-heart" >home</a></li>
<li class="nm-dan"><a href="fromdaniella" >from Daniella</a></li>
<li class="nm-mat"><a href="material-list" >material list</a></li>
<li class="nm-pro"><a href="program" >program</a></li>
<li class="nm-tes"><a href="testimonials-2" >testimonials</a></li>
<li class="nm-log"><a href="#">login</a></li>
</ul>
</body>
所以,你的主頁上body
類可能是nm-unl
和登錄頁面將有nm-log
body
類等。菜單本身永遠不會改變,因此仍然可以在一個共同文件
然後在每一個環節都進行專門針對CSS的..所以說,你的普通鏈接沒有圖像,但:hover
和你的「當前」的網頁做
#in-menu a {background: none;}
#in-menu a:hover {background: url(image.png) no-repeat top center;}
,那麼你會組新的/特定的選擇器進入懸停規則選擇器,那些規則則比普通的規則更具體,並且它們也將只適用於你的「當前頁面鏈接」,即當兩個頁面在頁面上相同時
.nm-log #in-menu .nm-log a,
.nm-tes #in-menu .nm-tes a,
.nm-pro #in-menu .nm-pro a,
.nm-mat #in-menu .nm-mat a,
.nm-dan #in-menu .nm-dan a,
.nm-unl #in-menu .nm-unl a,
#in-menu a:hover {background: url(image.png) no-repeat top center;}
你仍然需要#in-menu
ID的選擇以及兩個班,因爲否則的選擇將不會有足夠的重量,以覆蓋默認規則
一個jQuery的解決方案會以類似的方式工作,邏輯將是相同的。您仍然需要一個唯一的頁面指示符,即一個主體類或ID,然後您將檢查主體ID /類並將當前類添加到相關的匹配鏈接。