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 相关文章推荐
ie 处理 gif动画 的onload 事件的一个 bug
Apr 12 Javascript
javascript实现的鼠标链接提示效果生成器代码
Jun 28 Javascript
JS 自定义带默认值的函数
Jul 21 Javascript
js中判断文本框是否为空的两种方法
Jul 31 Javascript
javascript计算用户打开网页的停留时间
Jan 09 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
JavaScript获取ul中li个数的方法
Feb 13 Javascript
Angular4表单验证代码详解
Sep 03 Javascript
Vue.js实现的表格增加删除demo示例
May 22 Javascript
Emberjs 通过 axios 下载文件的方法
Sep 03 Javascript
浅谈vuex的基本用法和mapaction传值问题
Nov 08 Javascript
node.js使用http模块创建服务器和客户端完整示例
Feb 10 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 curl库实现整站克隆功能
2015/02/12 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
详解Python的Django框架中的通用视图
2015/05/04 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
python列表的逆序遍历实现
2020/04/20 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
自我鉴定范文
2013/11/10 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
总经理任命书
2014/03/29 职场文书
小学运动会口号
2014/06/07 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android