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 animate 动画效果使用说明
Nov 04 Javascript
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
Apr 01 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
Jan 13 Javascript
js实现在页面上弹出蒙板技巧简单实用
Apr 16 Javascript
Javascript中Event属性搜集整理
Sep 17 Javascript
JavaScript 获取任一float型小数点后两位的小数
Jun 30 Javascript
防止Node.js中错误导致进程阻塞的办法
Aug 11 Javascript
javascript 面向对象function详解及实例代码
Feb 28 Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 Javascript
关于预加载InstantClick的问题解决方法
Sep 12 Javascript
Vue+webpack+Element 兼容问题总结(小结)
Aug 16 Javascript
Vue实现下拉加载更多
May 09 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中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
php语法检查的方法总结
2019/01/21 PHP
php生成微信红包数组的方法
2019/09/05 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
有效提高JavaScript执行效率的几点知识
2015/01/31 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
python可视化实现代码
2019/01/15 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
美国最大点评网站:Yelp
2018/02/14 全球购物
25道Java面试题集合
2013/05/21 面试题
大一学生假期实习的自我评价
2013/10/12 职场文书
高中毕业生自我鉴定例文
2013/12/29 职场文书
先进集体获奖感言
2014/02/13 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
公共场所标语
2014/06/30 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
初三英语教学反思
2016/02/15 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL
js 实现验证码输入框示例详解
2022/09/23 Javascript