JS+CSS实现六级网站导航主菜单效果


Posted in Javascript onSeptember 28, 2015

本文实例讲述了JS+CSS实现六级网站导航主菜单效果。分享给大家供大家参考。具体如下:

这是一款JS+CSS实现支持6级的网站导航主菜单,级级相信够大家用了,外观蓝色风格,也是使用最多的一种菜单颜色,而且菜单的兼容性非常好,支持IE6\IE7\IE8,火狐、GG浏览器等不同内核的主流浏览器。

运行效果截图如下:

JS+CSS实现六级网站导航主菜单效果

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>CSS六级导航菜单</title>
<style>
.preload1 {background: url(images/blank_over.gif);}
.preload2 {background: url(images/blank_overa.gif);}
#nav {padding:0; margin:0; list-style:none; height:36px; background:#fff; position:relative; z-index:500; font-family:arial, verdana, sans-serif;}
#nav li.top {display:block; float:left;}
#nav li a.top_link {display:block; float:left; height:36px; line-height:27px; color:#ccc; text-decoration:none; font-size:11px; font-weight:bold; padding:0 0 0 12px; cursor:pointer;background: url(images/blank.gif);}
#nav li a.top_link span {float:left; display:block; padding:0 24px 0 12px; height:36px;background:url(images/blank.gif) right top;}
#nav li a.top_link span.down {float:left; display:block; padding:0 24px 0 12px; height:36px; background:url(images/blanka.gif) no-repeat right top;}
#nav li a.top_link:hover {color:#fff; background: url(images/blank_over.gif) no-repeat;}
#nav li a.top_link:hover span {background:url(images/blank_over.gif) no-repeat right top;}
#nav li a.top_link:hover span.down {background:url(images/blank_overa.gif) no-repeat right top;}
#nav li:hover > a.top_link {color:#fff; background: url(images/blank_over.gif) no-repeat;}
#nav li:hover > a.top_link span {background:url(images/blank_over.gif) no-repeat right top;}
#nav li:hover > a.top_link span.down {background:url(images/blank_overa.gif) no-repeat right top;}
#nav li:hover {position:relative; z-index:200;}
#nav ul, 
#nav li:hover ul ul,
#nav li:hover ul li:hover ul ul,
#nav li:hover ul li:hover ul li:hover ul ul,
#nav li:hover ul li:hover ul li:hover ul li:hover ul ul
{position:absolute; left:-9999px; top:-9999px; width:0; height:0; margin:0; padding:0; list-style:none;}
#nav li:hover ul.sub
{left:0; top:31px; background: #fff; padding:3px; border:1px solid #3a93d2; white-space:nowrap; width:90px; height:auto; z-index:300;}
#nav li:hover ul.sub li
{display:block; height:20px; position:relative; float:left; width:90px; font-weight:normal;}
#nav li:hover ul.sub li a
{display:block; font-size:11px; height:20px; width:90px; line-height:20px; text-indent:5px; color:#000; text-decoration:none;}
#nav li ul.sub li a.fly{background:#fff url(images/arrow.gif) 80px 7px no-repeat;}
#nav li:hover ul.sub li a:hover {background:#3a93d2; color:#fff;}
#nav li:hover ul.sub li a.fly:hover{background:#3a93d2 url(images/arrow_over.gif) 80px 7px no-repeat; color:#fff;}
#nav li:hover ul li:hover > a.fly {background:#3a93d2 url(images/arrow_over.gif) 80px 7px no-repeat; color:#fff;} 
#nav li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul li:hover ul,
#nav li:hover ul li:hover ul li:hover ul li:hover ul li:hover ul
{left:90px; top:-4px; background: #fff; padding:3px; border:1px solid #3a93d2; white-space:nowrap; width:90px; z-index:400; height:auto;}
</style>
<script type="text/javascript">
stuHover = function() {
 var cssRule;
 var newSelector;
 for (var i = 0; i < document.styleSheets.length; i++)
 for (var x = 0; x < document.styleSheets[i].rules.length ; x++)
  {
  cssRule = document.styleSheets[i].rules[x];
  if (cssRule.selectorText.indexOf("LI:hover") != -1)
  {
   newSelector = cssRule.selectorText.replace(/LI:hover/gi, "LI.iehover");
  document.styleSheets[i].addRule(newSelector , cssRule.style.cssText);
  }
 }
 var getElm = document.getElementById("nav").getElementsByTagName("LI");
 for (var i=0; i<getElm.length; i++) {
 getElm[i].onmouseover=function() {
  this.className+=" iehover";
 }
 getElm[i].onmouseout=function() {
  this.className=this.className.replace(new RegExp(" iehover\\b"), "");
 }
 }
}
if (window.attachEvent) window.attachEvent("onload", stuHover);
</script>
</head>
<body>
<ul id="nav">
 <li class="top"><a href="#nogo1" class="top_link"><span>Home</span></a></li>
 <li class="top"><a href="#nogo2" id="products" class="top_link"><span class="down">Products</span></a>
 <ul class="sub">
  <li><a href="#nogo3" class="fly">Cameras</a>
   <ul>
   <li><a href="#nogo4">Nikon</a></li>
   <li><a href="#nogo5">Minolta</a></li>
   <li><a href="#nogo6">Pentax</a></li>
   </ul>
  </li>
  <li class="mid"><a href="#nogo7" class="fly">Lenses</a>
   <ul>
   <li><a href="#nogo8">Wide Angle</a></li>
   <li><a href="#nogo9">Standard</a></li>
   <li><a href="#nogo10">Telephoto</a></li>
   <li><a href="#nogo11" class="fly">Zoom</a>
    <ul>
    <li><a href="#nogo12">35mm to 125mm</a></li>
    <li><a href="#nogo13">50mm to 250mm</a></li>
    <li><a href="#nogo14">125mm to 500mm</a></li>
    </ul>
   </li>
   <li><a href="#nogo15">Mirror</a></li>
   <li><a href="#nogo16" class="fly">Non standard</a>
    <ul>
    <li><a href="#nogo17">Bayonet mount</a></li>
    <li><a href="#nogo18">Screw mount</a></li>
    </ul>
   </li>
   </ul>
  </li>
  <li><a href="#nogo19">Flash Guns</a></li>
 </ul>
 </li>
 <li class="top"><a href="#nogo22" id="services" class="top_link"><span class="down">Services</span></a>
 <ul class="sub">
  <li><a href="#nogo23">Printing</a></li>
  <li><a href="#nogo25">Retouching</a></li>
 </ul>
 </li>
 <li class="top"><a href="#nogo27" id="contacts" class="top_link"><span class="down">Contacts</span></a>
 <ul class="sub">
  <li><a href="#nogo28">Support</a></li>
  <li><a href="#nogo29" class="fly">Sales</a>
  <ul>
   <li><a href="#nogo30">USA</a></li>
   <li><a href="#nogo31">Canadian</a></li>
   <li><a href="#nogo32">South American</a></li>
   <li><a href="#nogo33" class="fly">European</a>
   <ul>
    <li><a href="#nogo34" class="fly">British</a>
    <ul>
     <li><a href="#nogo35">London</a></li>
     <li><a href="#nogo36">Liverpool</a></li>
     <li><a href="#nogo37">Glasgow</a></li>
     <li><a href="#nogo38" class="fly">Bristol</a>
     <ul>
      <li><a href="#nogo39">Redland</a></li>
      <li><a href="#nogo40">Hanham</a></li>
      <li><a href="#nogo41">Eastville</a></li>
     </ul>
     </li>
     <li><a href="#nogo42">Cardiff</a></li>
     <li><a href="#nogo43">Belfast</a></li>
    </ul>
    </li>
    <li><a href="#nogo44">French</a></li>
    <li><a href="#nogo45">German</a></li>
    <li><a href="#nogo46">Spanish</a></li>
   </ul>
   </li>
   <li><a href="#nogo47">Australian</a></li>
   <li><a href="#nogo48">Asian</a></li>
  </ul>
  </li>
  <li><a href="#nogo49">Buying</a></li>
  <li><a href="#nogo50">Photographers</a></li>
  <li><a href="#nogo51">Stockist</a></li>
  <li><a href="#nogo52">General</a></li>
 </ul>
 </li>
 <li class="top"><a href="#nogo53" id="shop" class="top_link"><span class="down">Shop</span></a>
 <ul class="sub">
  <li><a href="#nogo54">Online</a></li>
  <li><a href="#nogo55">Catalogue</a></li>
  <li><a href="#nogo56">Mail Order</a></li>
 </ul>
 </li>
 <li class="top"><a href="#nogo57" id="privacy" class="top_link"><span>Privacy Policy</span></a></li>
</ul>
</body>
</html>

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

Javascript 相关文章推荐
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
May 15 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
jQuery实现定时读取分析xml文件的方法
Jul 16 Javascript
jQuery实现下拉加载功能实例代码
Apr 01 Javascript
Bootstrap学习笔记之js组件(4)
Jun 12 Javascript
详解vue跨组件通信的几种方法
Jun 15 Javascript
在微信小程序中使用图表的方法示例
Apr 25 Javascript
如何优雅地在Node应用中进行错误异常处理
Nov 25 Javascript
js实现轮播图特效
May 28 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
Aug 26 Javascript
使用vant的地域控件追加全部选项
Nov 03 Javascript
vue3中的组件间通信
Mar 31 Vue.js
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 #Javascript
JQuery+Ajax实现数据查询、排序和分页功能
Sep 27 #Javascript
jQuery获取checkboxlist的value值的方法
Sep 27 #Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 #Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 #Javascript
asp知识整理笔记3(问答模式)
Sep 27 #Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 #Javascript
You might like
PHP中PDO的错误处理
2011/09/04 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
js实现文字滚动效果
2016/03/03 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
对于Python的Django框架部署的一些建议
2015/04/09 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
django项目中新增app的2种实现方法
2020/04/01 Python
python如何绘制疫情图
2020/09/16 Python
运行时异常与一般异常有何异同?
2014/01/05 面试题
CLR与IL分别是什么含义
2016/08/23 面试题
老师给学生的表扬信
2014/01/17 职场文书
回门宴父母答谢词
2014/01/26 职场文书
十佳大学生事迹材料
2014/01/29 职场文书
食品安全标语
2014/06/07 职场文书
业务员辞职信范文
2015/03/02 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书