当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国CMS导航栏js高亮当前栏目使用JS方法修改改造适用于分类写死的模板

3年前 (2022-10-22)帝国CMS7223

高亮显示导航栏代码,通用方式,包括所在内容页
看了下论坛,大家基本使用的是灵动标签来实现当前栏高亮,我这个方法是根据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 = "cur"; //高亮代码样式
</script>

 

说明:
<ul class=”menu mct” id=”navi”> 中的ID值(id=”navi”)要和 var nav = document.getElementById(“navi”); 中的相同,即在js中获取id=”navi” 值,这个值要唯一,不能跟其它CSS或JS代码中ID同名,或者自己改成别的名字。

links[last].className = “cur”; 这一句中的 cur 为你的高亮样式。

————————————————————————-
例如:

<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 = "cur"; //高亮代码样式( 此处注意:这里是在links也就是li的后边加class="cur")
</script>

帝国CMS导航栏js高亮当前栏目使用JS方法修改改造适用于分类写死的模板

 

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://blueboss.cn/p/775.shtml

“帝国CMS导航栏js高亮当前栏目使用JS方法修改改造适用于分类写死的模板” 的相关文章

帝国CMS模板中显示标题颜色的标题灵动标签调用

帝国CMS模板中显示标题颜色的标题灵动标签调用

帝国cms模板中显示标题颜色的标题灵动标签调用方法! 调用标签如下: <?=DoTitleFont($bqr[titlefont],$bqr[title])?> OK!搞定!...

帝国CMS模板中随机调用文章信息

帝国CMS模板中随机调用文章信息

可以在生成标签的时候,标签参数中的排序参数用:’rand()’。引号不用。 比如: [ecmsinfo]2,10,32,0,0,2,0,”,’rand()’[/ecmsinfo] 但如果信息量很大的时候,比如上万后。严重影响生成速度。不建意使用。 如果确实要使用,可以用下面思路: 先用php随机出...

帝国CMS列表页判断文章来源带链接

帝国CMS列表页判断文章来源带链接

帝国CMS列表页内容怎么判断显示文章来源呢?并且来源带链接? 在列表内容模板里面写如下代码即可: $userr=$empire->fetch1("select befrom from {$dbtbpre}ecms_news_data_{$r[stb]} where id='$r[id]'")...

帝国CMS几个函数RepPostVarRepPostVar2RepPostStrRepPostStr2的用法

帝国CMS几个函数RepPostVarRepPostVar2RepPostStrRepPostStr2的用法

帝国CMS常用或者经常遇到的几个函数RepPostVar,RepPostVar2,RepPostStr,RepPostStr2的用法! (1)、数字型变量可以用(int)或intval函数处理,例子: $page=(int)$_GET['page']; 或 $page=intval($_GET['p...

帝国CMS使用esub/substr截取前面(或后面)两个字符(或多个字符)

帝国CMS使用esub/substr截取前面(或后面)两个字符(或多个字符)

帝国CMS怎么用灵动标签使用esub/substr截取前面,或者截取后面两个字符或者多个字符呢? ①、帝国网站 显示是"帝国" (这是灵动标签默认的截取标签字段“esub”), [e:loop={'select * from phome_enewsclass where bclassid=0 or...

帝国CMS列表页输出带序号

帝国CMS列表页输出带序号

1.帝国cms里面用万能标签调用序号是 [!--no.num--] 标签模板:<li><span>[!--no.num--]</span><a href="[!--titleurl--]">[!--title--]</a></li&g...