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 相关文章推荐
根据分辨率不同,调用不同的css文件
Jul 07 Javascript
JavaScript CSS修改学习第一章 查找位置
Feb 19 Javascript
微信分享的标题、缩略图、连接及描述设置方法
Oct 14 Javascript
javascript中的this详解
Dec 08 Javascript
jquery获取select选中值的方法分析
Dec 22 Javascript
jQuery实现二级下拉菜单效果
Jan 05 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
javascript日期比较方法实例分析
Jun 17 Javascript
AngularJS ng-blur 指令详解及简单实例
Jul 30 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
May 28 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中让curl支持sock5的代码实例
2015/01/21 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
JS实现简单日历特效
2020/01/03 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
简单了解django orm中介模型
2019/07/30 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
傲盾软件面试题
2015/08/17 面试题
小学语文课后反思精选
2014/04/25 职场文书
选秀节目策划方案
2014/06/06 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
新手入门Mysql--概念
2021/06/18 MySQL
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js