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 相关文章推荐
js网页实时倒计时精确到秒级
Feb 10 Javascript
Javascript实现计算个人所得税
May 10 Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 Javascript
用jQuery向div中添加Html文本内容的简单实现
Jul 13 Javascript
关于Vue.js一些问题和思考学习笔记(2)
Dec 02 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 jQuery
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
JS实现的全排列组合算法示例
Oct 09 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 Javascript
JS原型和原型链原理与用法实例详解
Feb 05 Javascript
微信小程序实现watch监听
Jun 04 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
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
探讨:如何编写PHP扩展
2013/06/13 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
vue实现购物车功能(商品分类)
2020/04/20 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
linecache模块加载和缓存文件内容详解
2018/01/11 Python
Python递归函数实例讲解
2019/02/27 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
大学专科生推荐信范文
2013/11/23 职场文书
课程改革实施方案
2014/03/16 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang