js实现具有高亮显示效果的多级菜单代码


Posted in Javascript onSeptember 01, 2015

本文实例讲述了js实现具有高亮显示效果的多级菜单代码。分享给大家供大家参考。具体如下:

这是一款具有高亮效果的菜单,菜单设计的也比较简洁,鼠标放在一级菜单上可以看到二级菜单的高亮效果,整体风格简约大方,适用于一些比较“干净”没有过多修饰的网站。

运行效果截图如下:

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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>具有高亮效果的菜单</title>
<style type="text/css">
body{ font:12px/22px "微软雅黑","宋体"; background:url(); color:#5d5d5d;}
*{ padding:0; margin:0;}
a{outline:none; text-decoration:none; color:#5d5d5d;}
a:active{noOutline:expression(this.onFocus=this.blur());}
:focus{outline:0;}
a img{ border:none;}
ul li{ list-style:none;}
.t_nav{ height:35px; line-height:35px; background:#008c9c url() no-repeat 720px 5px; margin-bottom:20px;}
.dropdown{ width:690px; padding-left:10px; float:left; position:relative; z-index:100;}
.dropdown li{ height:35px; font-size:14px; float:left; zoom:1;}
.dropdown li a{ color:#FFF;}
.t_nav .sou_suo{ width:300px; float:left; height:30px; padding-top:5px; overflow:hidden; line-height:22px;}
.t_nav .sou_suo span{ display:inline-block;}
.d_s_1{ width:195px; margin-left:25px;}
.d_s_1 input{ width:165px; background:none; border:none;}
.d_s_2 input{ width:48px; border:none; cursor:pointer; background:none;}
ul.dropdown li:last-child a { border-right: none; } 
ul.dropdown li.hover,ul.dropdown li:hover {position: relative;}
ul.dropdown li.hover a{ color:#008C9C;}
ul.dropdown ul{visibility: hidden;position: absolute;top: 35px;left: 1px;z-index:20;}
ul.dropdown ul li{background:#008C9C; border-top: 2px solid #ccc; float: none; height:auto;line-height:25px; color:#FFF;}
ul.dropdown li:hover > ul{ visibility: visible; }
#Nav .sub_menu li{ background:none; _width:76px; _overflow:hidden;}
body #Nav .hover a{ background:#008c9c; color:#fff;}
body #Nav a{ display:inline-block; width:auto; height:35px; padding:0 10px; margin:0 1px;}
body #Nav a:hover,body #Nav .cur a{ background-color:#fff; color:#008c9c}
body #Nav .sub_menu li.cur a{ background:#008c9c; color:#fff;}
body #Nav .sub_menu a{ margin:0; background:#008c9c; color:#fff; line-height:30px; height:30px;}
body #Nav .sub_menu .hover a{ background:#008c9c; color:#fff;}
body #Nav .sub_menu .hover a:hover{ background:#fff; color:#008c9c;}
body #Nav .cur{ position:relative;}
body #Nav .cur .sub_menu{ position:absolute;}
</style>
</head>
<body>
<div class="t_nav">
  <ul class="dropdown" id="Nav">
  <li><a href="#">首页</a></li>
  <li><a href="#">关于我们</a></li>
  <li><a href="#">新闻资讯</a>
   <ul class="sub_menu">
   <li><a href="#">公司新闻</a></li>
   <li><a href="#">图片新闻</a></li>
   <li><a href="#">媒体聚焦</a></li>
   <li><a href="#">行业资讯</a></li>
  </ul>
  </li>
  <li><a href="#">公司业务</a></li>
  <li><a href="#">合作伙伴</a></li>
  <li><a href="#">经典案例</a></li>
  <li><a href="#">诚聘英才</a></li>
  <li><a href="#">联系我们</a></li>
 </ul>
<script language="javascript">
function setCookie(name,value,time_sec){
 var Days = 30;
 var exp = new Date();
 exp.setTime(exp.getTime() + time_sec*1000);
 document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString() + ";";
}
function getCookie(name){
 var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
 if(arr != null) return unescape(arr[2]); return null;
}
var o=document.getElementById("Nav").getElementsByTagName("li");
var m=getCookie("NavIndex");
if(!isNaN(m) && m!=null){
 o[m].className="cur";
}else{
 o[0].className="cur";
}
for(var n=0;n<o.length;n++){
 o[n].onclick=function(){
  for(var i=0;i<o.length;i++){
   o[i].className="";
   o[i].index=i;
   }
  this.className="cur";
  setCookie("NavIndex",this.index,3600*24*365);
 }
}
</script>
 <div class="sou_suo">
  <span class="d_s_1"><input name="" type="text" /></span>
  <span class="d_s_2"><input name="" type="button" /></span>
 </div>
 </div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JQuery动态创建DOM、表单元素的实现代码
Aug 09 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
Jan 26 Javascript
jQuery实现查找最近父节点的方法
Jun 23 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
element vue Array数组和Map对象的添加与删除操作
Nov 14 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
vue实现将一个数组内的相同数据进行合并
Nov 07 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 Javascript
解决vue项目 build之后资源文件找不到的问题
Sep 12 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 #Javascript
JS实现黑客帝国文字下落效果
Sep 01 #Javascript
JavaScript中this详解
Sep 01 #Javascript
基于JavaScript制作霓虹灯文字 代码 特效
Sep 01 #Javascript
jquery实现简单合拢与展开网页面板的方法
Sep 01 #Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 #Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
Sep 01 #Javascript
You might like
咖啡语言
2021/03/03 咖啡文化
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
解析php中memcache的应用
2013/06/18 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
Python logging模块学习笔记
2014/05/24 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
python3实现基于用户的协同过滤
2018/05/31 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
详解Python 最短匹配模式
2020/07/29 Python
python 读取、写入txt文件的示例
2020/09/27 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
幼儿园教师辞职信
2014/01/18 职场文书
电脑饰品店的创业计划书
2014/01/21 职场文书
培训班开班仪式主持词
2014/03/28 职场文书
消防宣传口号
2014/06/16 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
顶岗实习协议书
2015/01/29 职场文书
工程部主管岗位职责
2015/02/12 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
环境卫生标语
2015/08/03 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
原生JS实现分页
2022/04/19 Javascript