分享

网页设计中当前正在访问的导航栏高亮显示的解决方案

 weiledream 2011-11-03

经常在很多网站上看到,当前正在访问的导航栏采用了高亮显示效果,能清楚地指明当前正在访问的页面栏目,比如百度首页效果。这个效果也必须采用JS和CSS结合才能实现,下面我说一下具体实现方法,本方法已经运行通过。

第一步:先在<head></head>中定义一个高亮显示的样式,具体样式属性根据需要设定:

<style type="text/css">
<!--

 #navigation a.here:link,
 #navigation a.here:visited,
 #navigation a.here:hover,
 #navigation a.here:active {
   font-family: "黑体";
 font-size: 14px;
 line-height: 20px;

 color: #f4c100;
 text-decoration: none;

 letter-spacing: 0px;
 display: block;  
     }

-->
</style>

第二步:将<body>中导航栏显示部分的表格命名为id="navigation",比如某个导航栏如下,注意红色部分:

<table id="navigation" width="100%"  border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000000">
  <tr>
    <td height="28" align="center" valign="middle"><table width="923" border="0">
      <tr>
        <td width="274"> </td>
        <td width="639"><table width="649" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td width="42" height="28"><p align="center"><a href="index.asp" class="nllj">首 页</a> </p></td>
            <td width="56"><div align="center"><a href="About.asp" class="nllj">关于我们</a></div></td>
            <td width="56"><div align="center"><span><a href="Server.asp" class="nllj">服务流程</a></span></div></td>
            <td width="56"><div align="center"><span class="STYLE3"><a href="Pinpai.asp" class="nllj">品牌形象</a></span></div></td>
            <td width="56"><div align="center"><span class="STYLE3"><a href="PingmianAd.asp" class="nllj">平面广告</a></span></div></td>
            <td width="56"><div align="center" class="STYLE3"><a href="Logo.asp" class="nllj">标志设计</a></div></td>
            <td width="56"><div align="center" class="STYLE3"><a href="View.asp" class="nllj">导视系统</a></div></td>
            <td width="56"><div align="center" class="STYLE3"><a href="Meeting.asp" class="nllj">会议活动</a></div></td>
            <td width="56"><div align="center" class="STYLE3"><a href="Pack.asp" class="nllj">产品包装</a></div></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table>

 

第三步:在网页中添加JS实现代码,放在任意位置都可以,代码如下:

<script language="javascript">
 


function highlightPage(){         //这个函数作用是判断当前点击的URL,以便高亮显示相应的导航栏

 if(!document.getElementsByTagName) return false; 

 if(!document.getElementById) return false; 

   if(!document.getElementById("navigation")) return false; 

   var nav=document.getElementById("navigation"); 

   var links=nav.getElementsByTagName("a"); 

   for(var i=0; i<links.length; i++) { 

     var linkurl=links[i].getAttribute("href"); 

    var currenturl=window.location.href; 

     if (currenturl.indexOf(linkurl)!=-1) { 

       links[i].className="here"; 

       var linktext=links[i].lastChild.nodeValue.toLowerCase(); 

       document.body.setAttribute("id",linktext); 

    } 

   } 

 }
window.onload=highlightPage;     //执行上面的函数


</script>


好了,OK,保存执行一下吧,高亮显示效果就出来了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约