JavaScript实现下拉菜单的显示和隐藏


Posted in Javascript onJanuary 05, 2016

我们这一篇来用JavaScript脚本实现下拉菜单的显示和隐藏。使用JavaScript方法实现我们需要用的知识有:
1)JS事件:onmouseover鼠标经过事件和onmouseout鼠标离开事件。
2)JS基础语法:使用function关键字定义函数。
3)DOM编程:getElementsByTagName()方法。
那么接下来就是我们制作的流程:
1)隐藏二级菜单:设置CSS样式,让二级菜单隐藏。
2)编写显示子菜单showsub()函数:使用getElementsByTagName获取二级菜单项;通过style.display设置二级菜单显示。
3)编写隐藏子菜单hidesub()函数:使用getElementsByTagName获取二级菜单项;通过style.display设置二级菜单隐藏。
4)添加鼠标事件:给有二级菜单的一级菜单添加鼠标事件,并调用showsub()/hidesub()函数,实现鼠标经过一级菜单,二级菜单显示和隐藏。
5)做浏览器兼容性检测,至少五个浏览器。IE7,8,9,火狐,谷歌,2345浏览器等。

效果图:

JavaScript实现下拉菜单的显示和隐藏

HTML代码:

<span style="font-size:18px;"><!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> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>下拉菜单</title> 
<!--引入的外部CSS样式文件--> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
<!--引入的外部JS脚本文件--> 
<script type="text/javascript" src="script.js"></script> 
</head> 
 
<body> 
<div id="nav" class="nav"> 
 <ul> 
  <li><a href="#">网站首页</a></li> 
  <li onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">课程大厅</a> 
  <ul> 
   <li><a href="#">JavaScript</a></li> 
   <li><a href="#">jQuery</a></li> 
   <li><a href="#">Ajax</a></li> 
  </ul> 
  </li> 
  <li onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">学习中心</a> 
  <ul> 
   <li><a href="#">视频学习</a></li> 
   <li><a href="#">案例学习</a></li> 
   <li><a href="#">交流平台</a></li> 
  </ul> 
  </li> 
  <li><a href="#">经典案例</a></li> 
  <li><a href="#">关于我们</a></li> 
 </ul> 
</div> 
</body> 
</html> 
</span>

外部CSS样式表style.css文件代码:

<span style="font-size:18px;">/*CSS全局设置*/ 
*{ 
 margin:0; 
 padding:0; 
} 
.nav{ 
 background-color:#EEEEEE; 
 height:40px; 
 width:450px; 
 margin:0 auto; 
} 
ul{ 
 list-style:none; 
} 
ul li{ 
 float:left; 
 line-height:40px; 
 text-align:center; 
} 
a{ 
 text-decoration:none; 
 color:#000000; 
 display:block; 
 width:90px; 
 height:40px; 
} 
a:hover{ 
 background-color:#666666; 
 color:#FFFFFF; 
} 
ul li ul li{ 
 float:none; 
 background-color:#EEEEEE; 
} 
ul li ul{ 
 display:none; 
} 
/*为了兼容IE7设置的CSS样式,但是又必须写在a:hover前面*/ 
ul li ul li a:link,ul li ul li a:visited{ 
 background-color:#EEEEEE; 
} 
ul li ul li a:hover{ 
 background-color:#009933; 
} 
</span>

外部JS脚本script.js文件代码:

<span style="font-size:18px;">function showsub(li){ 
 var submenu=li.getElementsByTagName("ul")[0]; 
 submenu.style.display="block"; 
} 
function hidesub(li){ 
 var submenu=li.getElementsByTagName("ul")[0]; 
 submenu.style.display="none"; 
}</span>

以上就是本文的全部内容,希望对大家的学习有所帮助,实现下拉菜单效果。

Javascript 相关文章推荐
jquery和javascript中如何将一元素的内容赋给另一元素
Jan 09 Javascript
jquery+css实现动感的图片切换效果
Nov 25 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
js实现千分符和保留几位小数的简单实例
Aug 01 Javascript
JavaScript贪吃蛇小组件实例代码
Aug 20 Javascript
JS中判断字符串存在和非空的方法
Sep 12 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
Mar 07 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
Nov 19 Javascript
js代码实现轮播图
May 04 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 Javascript
JavaScript如何实现防止重复的网络请求的示例
Jan 28 Javascript
jQuery实现二级下拉菜单效果
Jan 05 #Javascript
基于JavaScript实现简单的随机抽奖小程序
Jan 05 #Javascript
jquery中ajax处理跨域的三大方式
Jan 05 #Javascript
基于JavaScript代码实现随机漂浮图片广告
Jan 05 #Javascript
多个js毫秒倒计时同时进行效果
Jan 05 #Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
Jan 04 #Javascript
实例详解jQuery结合GridView控件的使用方法
Jan 04 #Javascript
You might like
PHP4实际应用经验篇(9)
2006/10/09 PHP
php 正则匹配函数体
2009/08/25 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
Smarty模板语法详解
2019/07/20 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
JavaScript window.location对象
2014/11/14 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
Python写的贪吃蛇游戏例子
2014/06/16 Python
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
Python中将字典转换为列表的方法
2016/09/21 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
在keras里实现自定义上采样层
2020/06/28 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
运动会跳远广播稿5篇
2014/09/17 职场文书
委托培训协议书
2014/11/17 职场文书
学习保证书
2015/01/17 职场文书
客户经理岗位职责
2015/01/31 职场文书
世界遗产导游词
2015/02/13 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
一文搞懂python异常处理、模块与包
2021/06/26 Python
Java完整实现记事本代码
2022/06/16 Java/Android