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


Posted in Javascript onOctober 15, 2015

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

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

运行效果截图如下:

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

在线演示地址如下:

具体代码如下:

<!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程序设计有所帮助。

Javascript 相关文章推荐
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
Jul 28 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
bootstrap table 多选框分页保留示例代码
Mar 08 Javascript
jQuery+ajax实现局部刷新的两种方法
Jun 08 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
JavaScript事件对象深入详解
Dec 30 Javascript
Vue框架下引入ActiveX控件的问题解决
Mar 25 Javascript
使用node.JS中的url模块解析URL信息
Feb 06 Javascript
Vue循环中多个input绑定指定v-model实例
Aug 31 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
Oct 15 #Javascript
JS利用cookie记忆当前位置的防刷新导航效果
Oct 15 #Javascript
如何实现移动端浏览器不显示 pc 端的广告
Oct 15 #Javascript
JS简单限制textarea内输入字符数量的方法
Oct 14 #Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
Oct 14 #Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 #Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
Oct 14 #Javascript
You might like
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP Cookie学习笔记
2016/08/23 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
简单谈谈python中的lambda表达式
2018/01/19 Python
对Python中的@classmethod用法详解
2018/04/21 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
为什么需要版本控制
2016/10/28 面试题
化工工艺专业求职信
2013/09/22 职场文书
医药代表个人的求职信分享
2013/12/08 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
理发店策划方案
2014/06/05 职场文书
排查整治工作方案
2014/06/09 职场文书
高中班主任评语
2014/12/30 职场文书
死亡赔偿协议书
2015/01/28 职场文书
超强台风观后感
2015/06/09 职场文书
Python加密技术之RSA加密解密的实现
2022/04/08 Python