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>
<title>简洁大方的二级下拉菜单</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
*{margin:0;padding:0;font-style:normal;font-family:宋体;}
body{text-align:center;font-size:14px;}
#content{margin:0 auto;width:600px;}
#content #nav{background:#006400;height:32px;margin-top:10px;}
#content #nav ul{list-style:none;}
#content #nav ul li{float:left;width:100px;line-height:32px;position:relative;}
#nav div{width:100px;position:absolute;left:0px;padding-bottom:0px;background:#006400;float:left;height:0;overflow:hidden;}
#content #nav li .a{text-decoration:none;color:#00CD00;line-height:32px;display:block;border-right:1px solid #009800;}
#nav div a{text-decoration:none;color:#00CD00;line-height:26px;display:block;}
#nav div a:hover{background:#005400;}
</style>
</head>
<body>
<div id="content">
 <div id="nav">
  <ul id="supnav">
   <li><a href="#" class="a">菜单项1</a>
    <div>
     <a href="#">菜单测试1</a>
     <a href="#">菜单测试1</a>
     <a href="#">菜单测试1</a>
    </div>
   </li>
   <li><a href="#" class="a">菜单项2</a>
    <div>
     <a href="#">菜单测试2</a>
     <a href="#">菜单测试2</a>
     <a href="#">菜单测试2</a>
    </div>
   </li>
   <li><a href="#" class="a">菜单项3</a>
    <div>
     <a href="#">菜单测试3</a>
     <a href="#">菜单测试3</a>
     <a href="#">菜单测试3</a>
     <a href="#">菜单测试3</a>
     <a href="#">菜单测试3</a>
    </div>
   </li>
   <li><a href="#" class="a">菜单项4</a>
    <div>
     <a href="#">菜单测试4</a>
     <a href="#">菜单测试4</a>
     <a href="#">菜单测试4</a>
    </div>
   </li>
   <li><a href="#" class="a">菜单项5</a>
    <div>
     <a href="#">菜单测试5</a>
     <a href="#">菜单测试5</a>
     <a href="#">菜单测试5</a>
     <a href="#">菜单测试5</a>
    </div>
   </li>
   <li><a href="#" class="a">菜单项6</a>
    <div>
     <a href="#">菜单测试6</a>
     <a href="#">菜单测试6</a>
     <a href="#">菜单测试6</a>
    </div>
   </li>
  </ul>
 </div>
</div>
<script type="text/javascript">
var supnav=document.getElementById("supnav");
var nav=document.getElementById("nav");
var btns=document.getElementsByTagName("li");
var subnavs=nav.getElementsByTagName("div");
var paddingbottom=20;
var defaultHeight=0;
function drop(obj,ivalue){
 var a=obj.offsetHeight;
 var speed=(ivalue-obj.offsetHeight)/8;
 a+=Math.floor(speed);
 obj.style.height=a+"px";
}
window.onload=function(){
 for(var i=0;i<btns.length;i++){
  btns[i].index=i;
  btns[i].onmouseover=function(){
   var osubnav=subnavs[this.index];
   var sublinks=osubnav.getElementsByTagName("a");
   if(osubnav.firstChild.tagName==undefined){
    var itarheight=parseInt(osubnav.childNodes[1].offsetHeight)*sublinks.length+paddingbottom;
   }else{
    var itarheight=parseInt(osubnav.firstChild.offsetHeight)*sublinks.length+paddingbottom;
   }
   clearInterval(this.itimer);
   this.itimer=setInterval(function(){drop(osubnav,itarheight);},30);
  }
  btns[i].onmouseout=function(){
   var osubnav=subnavs[this.index];
   clearInterval(this.itimer);
   this.itimer=setInterval(function(){drop(osubnav,defaultHeight);},30);
  }
 }
}
</script>
</body>
</html>

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

Javascript 相关文章推荐
LBS blog sql注射漏洞[All version]-官方已有补丁
Aug 26 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 Javascript
js控制input框只读实现示例
Jan 20 Javascript
js文本框输入内容智能提示效果
Dec 02 Javascript
js获取url传值的方法
Dec 18 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
浅析上传头像示例及其注意事项
Dec 14 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 Javascript
vue 组件开发原理与实现方法详解
Nov 29 Javascript
借助云开发实现小程序短信验证码的发送
Jan 06 Javascript
js实现点击向下展开的下拉菜单效果代码
Sep 01 #Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 #Javascript
js实现具有高亮显示效果的多级菜单代码
Sep 01 #Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 #Javascript
JS实现黑客帝国文字下落效果
Sep 01 #Javascript
JavaScript中this详解
Sep 01 #Javascript
基于JavaScript制作霓虹灯文字 代码 特效
Sep 01 #Javascript
You might like
php开发文档 会员收费1期
2012/08/14 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
2014/05/04 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
基于python 二维数组及画图的实例详解
2018/04/03 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
python logging日志模块原理及操作解析
2019/10/12 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
Python如何定义有默认参数的函数
2020/08/10 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
Android面试宝典
2013/08/06 面试题
销售人员自我评价
2014/02/01 职场文书
给领导的检讨书
2014/02/16 职场文书
团支部建设方案
2014/05/02 职场文书
租房协议书范文
2014/08/20 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
工商行政处罚决定书
2015/06/24 职场文书
Nginx反向代理学习实例教程
2021/10/24 Servers