源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 6380|回复: 0

[CSS/Html] js控制公共模板中,不同页面中的导航选中效果-判断当前的url

[复制链接]

1169

主题

1557

帖子

8820

金币

超级版主

Rank: 8Rank: 8

积分
19323
发表于 2022-5-4 22:54:40 | 显示全部楼层 |阅读模式
用js的做法也很多。比较推荐的方法是判断当前的url,然后根据url在nav中的位置,来对nav中的某个导航增加选中样式,代码如下:

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <title>Document</title>
  6. </head>
  7. <body>
  8. <style>
  9. .active {
  10.     color: red;
  11. }
  12. </style>
  13. <ul id="tab2">
  14.     <li><a href="index.html">首页</a></li>
  15.     <li><a href="news.html">新闻</a></li>
  16.     <li><a href="about.html">关于</a></li>
  17.     <li><a href="job.html">工作</a></li>
  18.     <li><a href="ad.html">广告</a></li>
  19.     <li><a href="contactus.html">联系我们</a></li>
  20. </ul>
  21. <script>
  22. //这里的js, 可以做为一个外部的JS文件, 然后由上面这些页面统一引入即可.
  23. (function(){
  24.     var tDiv = document.getElementById("tab2"),
  25.         links = tDiv.getElementsByTagName("a"),
  26.         index = 0,//默认第一个菜单项
  27.         url = location.href.split('?')[0].split('/').pop();//取当前URL最后一个 / 后面的文件名,pop方法是删除最后一个元素并返回最后一个元素

  28.     if(url){//如果有取到, 则进行匹配, 否则默认为首页(即index的值所指向的那个)
  29.         for (var i=links.length; i--;) {//遍历 menu 的中连接地址
  30.             if(links[i].href.indexOf(url) !== -1){
  31.                 index = i;
  32.                 break;
  33.             }
  34.         }
  35.     }

  36.     links[index].className = 'active';
  37. })();
  38. </script>
  39. </body>
  40. </html>
复制代码
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-5-28 16:29 , Processed in 0.026521 second(s), 16 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明