澳门新葡亰平台游戏网站JS实现选中当前菜单后高亮显示的导航条效果,高亮显示导航条

如题,帝国CMS用灵动标签来实现任意页面调用指定栏目下的所有子栏目。

JS实现选中当前菜单后高亮显示的导航条效果,高亮显示导航条

本文实例讲述了JS实现选中当前菜单后高亮显示的导航条效果。分享给大家供大家参考。具体如下:

这里演示选中当前菜单后,该菜单高亮显示,也就是说在不改变菜单CSS代码的情况下,用JavaScript去控制菜单的背景,如果该菜单项被点击后,将赋予它一个与众不同的背景颜色或背景图像,这样可以清淅的指引用户下在浏览的网站栏目,本菜单不需要动态语言的加入,简单方便而且效果好。

运行效果截图如下:

澳门新葡亰平台游戏网站 1

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>选中当前菜单后高亮</title>
<style type="text/css">
<!--
.nav {
  MARGIN: 1px 0; 
  WIDTH: 100%; 
  FONT-FAMILY: verdana; 
  HEIGHT: 21px; 
  BACKGROUND-COLOR: #970B0B;
  font-family:Arial, Helvetica, sans-serif;
 font-size:12px;
}
.nav UL {
  PADDING: 0px; 
  DISPLAY: block; 
  MARGIN: 0px; 
  LIST-STYLE-TYPE: none; 
  HEIGHT: 21px; 
  BACKGROUND-COLOR: #970B0B;
  COLOR: #ffffff; 
}
.nav LI {
  BORDER-RIGHT: #ffffff 1px solid; 
  DISPLAY: block; 
  FLOAT: left; 
  HEIGHT: 21px;
  font-family:Arial, Helvetica, sans-serif;
 font-size:12px;
}
.nav LI A {
  PADDING:1px 15px 0; 
  DISPLAY: block; 
  FONT-WEIGHT: none; 
  COLOR: #ffffff; 
  LINE-HEIGHT: 20px; 
  TEXT-DECORATION: none;
}
.nav LI A:hover {
  COLOR:#562505; 
  BACKGROUND-COLOR: #f4f524; 
  TEXT-DECORATION: none;
}
.current{
 color:#ffffff;
 background:#D42524;
}
.nav li#date{
 color:#ffffff;
 PADDING:2px 15px 0; 
}
-->
</style>
<script language="javascript" type="text/javascript">
var $c=function(array){var nArray = [];for (var i=0;i<array.length;i++) nArray.push(array[i]);return nArray;};
Array.prototype.each=function(func){
for(var i=0,l=this.length;i<l;i++) {func(this[i],i);};
};
document .getElementsByClassName=function(cn){
var hasClass=function(w,Name){
var hasClass = false;
w.className.split(' ').each(function(s){
if (s == Name) hasClass = true;
});
return hasClass;
}; 
var elems =document.getElementsByTagName("*")||document.all;
   var elemList = [];
   $c(elems).each(function(e){
if(hasClass(e,cn)){elemList.push(e);}
   })
  return $c(elemList);
};
function change_bg(obj){
var a=document.getElementsByClassName("nav")[0].getElementsByTagName("a");
for(var i=0;i<a.length;i++){a[i].className="";}
obj.className="current";
}
</script>
</head>
<body>
<DIV class="nav">
 <UL>
 <LI><A href="#" onclick="change_bg(this)">脚本首页</A></LI>
 <LI><A href="#" onclick="change_bg(this)">网页特效</A> </LI>
 <LI><a href="#" class="current" onclick="change_bg(this)">精品脚本</a> </LI>
 <LI><A href="#" onclick="change_bg(this)">ASP代码</A> </LI>
 <LI><A href="#" onclick="change_bg(this)">PHP代码</A> </LI>
 <LI><A href="#" onclick="change_bg(this)">JSP代码</A> </LI>
 <LI><A href="#" onclick="change_bg(this)">脚本资源</A> </LI>
 <LI><A href="#" onclick="change_bg(this)">软件下载</A> </LI>
 </UL>
</DIV>
</body>
</html>

希望本文所述对大家的JavaScript程序设计有所帮助。

本文实例讲述了JS实现选中当前菜单后高亮显示的导航条效果。分享给大家…

当前栏目高亮显示
       JS判断当前URL对当前栏目高亮显示,重点是用到了indexOf来判断两个字符串中第一次出现的位置,如果没有出现就返回-1,出现就返回
其它,并与返回其它结果的那个字符串所在元素定义一个class.

[e:loop={selectclassid,classname,classpathfrom[!db.pre!]enewsclasswherebclassid=1andshowclass=0orderbymyorder,classiddesc,0,24,0}]liahref=?=$public_r[newsurl]??=$bqr[classpath]?title=?=$bqr[classname]?target=_blank?=$bqr[classname]?/a/li[/e:loop]

HTML

这段JS是用以实现当前栏目高亮的样式区分,如不需要当前子栏目高亮,可删除这段JS代码。

复制代码 代码如下:

<div id=”nav”>  
<ul>  
<li><a href=”” title=”资讯中心”><span>资讯中心</span></a></li> 
<li><a href=”” title=”网络编程”><span>网络编程</span></a></li> 
<li><a href=”” title=”数据库”><span>数据库</span></a></li> 
<li><a href=”” title=”脚本专栏”><span>脚本专栏</span></a></li> 
<li><a href=”” title=”实用技巧”><span>实用技巧</span></a></li> 
<li><a href=”” title=”软件编程”><span>软件编程</span></a></li> 
<li><a href=”” title=”网页制作”><span>网页制作</span></a></li> 
<li><a href=”” title=”操作系统”><span>操作系统</span></a></li> 
<li><a href=”” title=”经典网摘”><span>经典网摘</span></a></li> 
<li><a href=”” title=”网站技巧”><span>网站技巧</span></a></li> 
<li><a href=”” title=”免费资源”><span>免费资源</span></a></li> 
<li><a href=”” title=”关于我们”><span>关于我们</span></a></li> 
<li><a href=”” title=”文章搜索”><span>文章搜索</span></a></li> 
</ul>  
</div> 

JS

复制代码 代码如下:

var myNav = document.getElementById(“nav”).getElementsByTagName(“a”);  
for(var i=0;i<myNav.length;i++)  
{  
   var links = myNav[i].getAttribute(“href”);  
    //alert(links)  
   //alert(myNav[i]);  
   var myURL = document.location.href;   
   if(myURL.indexOf(links) != -1)  
   {  
      myNav[i].className=”d”;  
    }  

当前栏目高亮显示不知道你明白了没有?没有的话,我说详细点。首先,你点击一个连接,比如: <li><a 
href=”” title=”资讯中心”>资讯中心</a></li> 
点击之后浏览器发生了什么变化呢?是的,就是地址栏变成了:

使用 document.location.href; 
取得的就是这个地址(
然后我们再遍历当前网页上的所有连接,取得每个连接href的值。遍历的代码: 

复制代码 代码如下:

var myNav = document.getElementById(“nav”).getElementsByTagName(“a”);  
for(var i=0;i<myNav.length;i++)  
{  
   var links = myNav[i].getAttribute(“href”);  

      使用indexOf函数来比较是否页面的所有连接中,有关键字在
明是当前连接,那么就修改当前连接的样式。这就实现了当前栏目高亮显示,当前栏目高亮显示是一个很实用的技巧,在增加用户体验方面尤
其有好处。但在实用过程中,可能需要注意一些细节问题,比如搜索吧的博客是用外链的方式来连接的,那么在处理的时候,点了这个外链的
时候是否高亮呢?这里也只是我觉得当前栏目高亮显示时可能出现的问题稍微说一下,说不定你已经有解决方法了。

JS判断当前URL对当前栏目高亮显示,重点是用到了indexOf来判断两个字符串中第一次出现的位置,如果没有出现就返回-1,出现…

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图