高亮显现导航栏代码,通用圆式,包括所正在内容页
看了下论坛,大家根基使用的是灵动标签来实现当前栏高亮,我这个圆法是按照js来实现的。如果需要您就试下吧
圆法如下,大家可以触类旁通,其实是很简单的修改:
<div >
<ul >
<li><a href="/">首页</a></li>
<li><a href="/wangluodongtai/">网络动态</a></li>
<li><a href="/youhuajiqiao/">劣化技巧</a></li>
<li><a href="/huozaidangxia/">活正在当下</a></li>
<li><a href="/woaibiancheng/">我爱编程</a></li>
<li><a href="/xiaojiqiao/">小技巧</a></li>
<li><a href="/hulianwangwen/">互联网文</a></li>
</ul>
</div>
<script type="text/Javascript" language="Javascript">
var nav = document.getElementById("navi");
var links = nav.getElementsByTagName("li");
var lilen = nav.getElementsByTagName("a"); //判定地址
var currenturl = document.location.href;
var last = 0;
for (var i=0;i<links.length;i++)
{
var linkurl = lilen[i].getAttribute("href");
if(currenturl.indexOf(linkurl)!=-1)
{
last = i;
}
}
links[last].className = "menufirst"; //高亮代码样式
</script>
解释: <ul > 中的ID值()要跟 var nav = document.getElementById("navi"); 中的想同,即正在js中获取 值,这个值要唯一,不克不及跟其它CSS或JS代码中ID同名,或者本人改成别的名字。
links[last].className = "menufirst"; 这一句中的 menufirst 为您的高亮样式。
-------------------------------------------------------------------------
比方:
<div ><div >
<ul ><li ><a href="[!--news.url--]">首页</a></li>
[e:loop={"select classname,classpath from [!db.pre!]enewsclass where bclass,0,24,0}]
<li><a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>"><?=$bqr[classname]?></a></li>
[/e:loop]
</ul></div>
<script type="text/Javascript" language="Javascript">
var nav = document.getElementById("navi3");
var links = nav.getElementsByTagName("li");
var lilen = nav.getElementsByTagName("a"); //判定地址
var currenturl = document.location.href;
var last = 0;
for (var i=0;i<links.length;i++)
{
var linkurl = lilen[i].getAttribute("href");
if(currenturl.indexOf(linkurl)!=-1)
{
last = i;
}
}
links[last].className = "current-menu-item"; //高亮代码样式
</script>
转载请注明: 帝国模板 » 帝国CMS导航栏js高亮当前栏目,使用JS圆法修改改造。