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 相关文章推荐
javscript对象原型的一些看法
Sep 19 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
用jquery修复在iframe下的页面锚点失效问题
Aug 22 Javascript
JS获取各种宽度、高度的简单介绍
Dec 19 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
jfinal与bootstrap的登录跳转实战演习
Sep 22 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
Jan 13 Javascript
jquery popupDialog 使用 加载jsp页面的方法
Oct 25 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
在iFrame子页面里实现模态框的方法
Aug 17 Javascript
JS+canvas五子棋人机对战实现步骤详解
Jun 04 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
很好用的PHP数据库类
2009/05/27 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
Python yield 小结和实例
2014/04/25 Python
简单理解Python中基于生成器的状态机
2015/04/13 Python
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
Python中如何获取类属性的列表
2016/12/26 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
Python的UTC时间转换讲解
2019/02/26 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
如何一键升级Python所有包
2020/11/05 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
什么是规则表达式
2012/05/03 面试题
快餐公司创业计划书
2014/04/29 职场文书
设计专业自荐信
2014/06/19 职场文书
个人收入证明范本
2014/09/18 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
opencv检测动态物体的实现
2021/07/21 Python