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 相关文章推荐
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
JQuery加载图片自适应固定大小的DIV
Sep 12 Javascript
JS控制表单提交的方法
Jul 09 Javascript
JS实现仿FLASH效果的竖排导航代码
Sep 15 Javascript
JavaScript判断按钮被点击的方法
Dec 13 Javascript
javascript实现网页端解压并查看zip文件
Dec 15 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 Javascript
jQuery中map函数的两种方式
Apr 07 jQuery
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
electron 安装,调试,打包的具体使用
Nov 06 Javascript
vue3.0中使用postcss-pxtorem的具体方法
Nov 20 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写的采集程序
2007/03/16 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
Angular4 反向代理Details实践
2018/05/30 Javascript
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
Python 支付整合开发包的实现
2019/01/23 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
Python配置文件处理的方法教程
2019/08/29 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
python字典与json转换的方法总结
2020/12/28 Python
python性能测试工具locust的使用
2020/12/28 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
神路信息Java面试题目
2013/03/31 面试题
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
护理专业应届毕业生推荐信
2013/11/15 职场文书
贺卡寄语大全
2014/04/11 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Moment的feature导致线上bug解决分析
2022/09/23 Javascript