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 相关文章推荐
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
js控制href内容的连接内容的变化示例
Apr 30 Javascript
使用jQuery jqPlot插件绘制柱状图
Dec 18 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
利用vue.js插入dom节点的方法
Mar 15 Javascript
Vue中保存用户登录状态实例代码
Jun 07 Javascript
react-native使用react-navigation进行页面跳转导航的示例
Sep 07 Javascript
深入理解vue中slot与slot-scope的具体使用
Jan 26 Javascript
小程序tab页无法传递参数的方法
Aug 03 Javascript
ajax与jsonp的区别及用法
Oct 16 Javascript
JS实现简易留言板增删功能
Feb 08 Javascript
vue 判断元素内容是否超过宽度的方式
Jul 29 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
PHP 开发工具
2006/12/06 PHP
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
页面中js执行顺序
2009/11/09 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
netbeans7安装python插件的方法图解
2013/12/24 Python
整理Python中的赋值运算符
2015/05/13 Python
python PIL模块与随机生成中文验证码
2016/02/27 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
python怎么调用自己的函数
2020/07/01 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
个人作风剖析材料
2014/02/02 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
实习生个人总结范文
2015/02/28 职场文书
介绍信怎么写
2015/05/05 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python