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 相关文章推荐
javascript获得CheckBoxList选中的数量
Oct 27 Javascript
用JSON做数据传输格式中的一些问题总结
Dec 21 Javascript
jQuery根据纬度经度查看地图处理程序
May 08 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
Apr 27 Javascript
javascript实现验证IP地址等相关信息代码
May 10 Javascript
原生javascript实现自动更新的时间日期
Feb 12 Javascript
两种js监听滚轮事件的实现方法
May 13 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
Jan 06 Javascript
详解vue axios中文文档
Sep 12 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
Dec 01 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
Aug 28 Javascript
vue弹出框组件封装实例代码
Oct 31 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使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
下拉框select的绑定示例
2014/09/04 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
Python中的元组介绍
2019/01/28 Python
python图像处理入门(一)
2019/04/04 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
Python 音频生成器的实现示例
2019/12/24 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
奥地利网上书店:Weltbild
2017/07/14 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
计算机专业毕业生推荐信
2013/11/25 职场文书
银行求职自荐信
2014/06/30 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
如何判断pytorch是否支持GPU加速
2021/06/01 Python