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 select(列表)的操作(取值/赋值)
Mar 16 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
JavaScript检查某个function是否是原生代码的方法
Aug 20 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 jQuery
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
Jan 08 Javascript
bootstrap table实现合并单元格效果
Dec 24 Javascript
详解JavaScript的变量
Apr 04 Javascript
JS异步处理的进化史深入讲解
Aug 25 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
Sep 02 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 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和ACCESS写聊天室(五)
2006/10/09 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
JS实现li标签的删除
2019/04/12 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
建筑专业自我鉴定
2013/10/22 职场文书
绩效专员岗位职责
2013/12/02 职场文书
优秀团队获奖感言
2014/02/19 职场文书
高中生评语大全
2014/04/25 职场文书
赔偿协议书范本
2014/09/12 职场文书
班主任2015新年寄语
2014/12/08 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书