帝国CMS导航栏js高亮当前栏目
发布时间:2021-06-15作者:帝国建站网
高亮显示导航栏代码,通用方式,包括所在内容页
看了下论坛,大家基本使用的是灵动标签来实现当前栏高亮,我这个方法是根据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>
看了下论坛,大家基本使用的是灵动标签来实现当前栏高亮,我这个方法是根据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>
相关帝国教程
- 03-19帝国CMS内容页判断下载字段是否有值
- 02-29帝国CMS模制作常用调用标签收藏
- 07-31帝国CMS调用当前专题信息
- 10-21帝国CMS会员中心调用会员发布信息总数
- 07-01帝国cms后台发布信息时的多图上传去掉a标签
- 08-09帝国CMS默认的信息提示页修改样式
- 11-04帝国CMS用newstext作列表简介方法
- 09-10帝国CMS模板前台使用灵动标签调用管理信息反馈中的内容
- 02-21帝国cms灵动标签调用信息的标题分类名称和地址
- 07-12phome_enewspic 数据表字段解释(图片信息表)
- 10-08帝国cms内容页上一篇和下一篇另类调用方法
- 04-29帝国CMS后台采集关键字的方法(只是一个变通方法)
- 01-17帝国CMS模板自动判断显示标题和副标题一句话标签写法是什么?
- 01-20帝国cms列表页显示新闻或软件简介时
- 07-26帝国CMS灵动标签截取前后字符缩短栏目名字或标题的代码
- 07-05帝国cms默认的生成路径修改
- 08-14帝国cms7.5整合论坛程序discuzX3.2同时登陆退出
- 08-11帝国CMS实现tagid伪静态tag设置
- 05-12帝国CMS灵动标签调用标题图片没有图片时显示默认图片的代码
- 01-10帝国cms搜索模板支持调用动态标签方法