帝国CMS导航栏js高亮当前栏目,使用JS方法修改改造。


avatar
pcwnas 2023-04-21 154

高亮显示导航栏代码,通用方式,包括所在内容页看了下论坛,大家基本使用的是灵动标签来实现当前栏高亮,我这个方法是根据js来实现的。如果需要你就试下吧方法如下,大家可以举一反三,其实是很简单的修改:<div class=”header”> <ul class=”menu mct” id=”navi”> <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 class=”menu mct” id=”navi”> 中的ID值(id=”navi”)要和 var nav = document.getElementById(“navi”); 中的想同,即在js中获取id=”navi” 值,这个值要唯一,不能跟其它CSS或JS代码中ID同名,或者自己改成别的名字。 links[last].className = “menufirst”; 这一句中的 menufirst 为你的高亮样式。————————————————————————-例如:<div id=”main-nav”><div class=”wrap cf”> <ul id=”navi3″ class=”menu”><li ><a href=”[!–news.url–]”>首页</a></li>[e:loop={“select classname,classpath from [!db.pre!]enewsclass where bclassid=58 order by classid “,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>