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

标题: js控制公共模板中,不同页面中的导航选中效果-判断当前的url [打印本页]

作者: 欧阳锋    时间: 2022-5-4 22:54
标题: js控制公共模板中,不同页面中的导航选中效果-判断当前的url
用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>
复制代码





欢迎光临 源码论坛,商业源码下载,尽在锦尚中国商业源码论坛 (https://bbs.52jscn.com/) Powered by Discuz! X3.3