你并不需要使用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 /类并将当前类添加到相关的匹配链接。