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 相关文章推荐
Javascript实现的分页函数
Feb 07 Javascript
基于jQuery的简单的列表导航菜单
Mar 02 Javascript
一个JQuery操作Table的代码分享
Mar 30 Javascript
基于jquery中children()与find()的区别介绍
Apr 26 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
jQuery filter函数使用方法
May 19 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
Jan 05 Javascript
JavaScript实现网页对象拖放功能的方法
Apr 15 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
Javascript动画效果(4)
Oct 11 Javascript
jQuery中extend函数简单用法示例
Oct 11 jQuery
Vue-cropper 图片裁剪的基本原理及思路讲解
Apr 17 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
PHP模块化安装教程
2016/06/01 PHP
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
vue中轮训器的使用
2019/01/27 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
Ref与out有什么不同
2012/11/24 面试题
上课说话检讨书500字
2014/11/01 职场文书
2015年环保局工作总结
2015/05/22 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
预备党员表决心的话
2015/09/22 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers