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 相关文章推荐
IE 上下滚动展示模仿Marquee机制
Dec 20 Javascript
Confirmer JQuery确认对话框组件
Jun 09 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
node.js中的buffer.fill方法使用说明
Dec 14 Javascript
js插件YprogressBar实现漂亮的进度条效果
Apr 20 Javascript
jQuery实现平滑滚动的标签分栏切换效果
Aug 28 Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
JS得到当前时间的方法示例
Mar 24 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
Nov 04 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
有关PHP中MVC的开发经验分享
2012/05/17 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
基于node.js的快速开发透明代理
2010/12/25 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
jQuery为某个div加入行样式
2017/06/09 jQuery
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
浅谈对yield的初步理解
2017/05/29 Python
Python3 加密(hashlib和hmac)模块的实现
2017/11/23 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
Python语言快速上手学习方法
2018/12/14 Python
基于python检查矩阵计算结果
2020/05/21 Python
用python对excel查重
2020/12/07 Python
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
中间件分为哪几类
2012/03/14 面试题
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
十八大感想感言
2014/02/10 职场文书
《画风》教学反思
2014/04/16 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
投标承诺函格式
2015/01/21 职场文书
redis 查看所有的key方式
2021/05/07 Redis
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL