jQuery实现二级下拉菜单效果


Posted in Javascript onJanuary 05, 2016

大家都知道jQuery是一个框架,它对JS进行了封装,使其更方便使用。前面两篇博文分别是用CSS样式和JS实现的,那么这篇就用jQuery来实现二级下拉式菜单。
使用JQuery实现需要用到的知识有:

  •        1)使用$(function(){...})获取到想要作用的HTML元素。
  •        2)通过使用children()方法寻找子元素。
  •        3)通过使用show()方法来显示HTML元素。
  •        4)通过使用hide()方法来隐藏HTML元素。
  •        5)jQuery库引用方法:

第一种方法:将jQuery库下载到电脑上,然后引用,我下载的是jquery-1.7.1.min.js这个版本。
       例如: <script type="text/javascript" src="jquery/jquery-1.7.1.min.js"></script>
第二种方法:直接引用在线服务器上的jQuery库文件,比如谷歌服务器jQuery库,百度服务器jQuery库等。
       例如:引用百度服务器上的jQuery库文件
       <script type="text/javascript" src="jquery/1.9.0/jquery.js"></script>
接下来看看制作的流程:
1、调用jQuery库:编写代码,引用jquery库。由于谷歌已退出大陆,建议使用百度服务器的jQuery库。
       注意: 百度服务器的jQuery库地址:http://libs.baidu.com/jquery/1.9.0/jquery.js
2 、编写显示子菜单函数,使用$,并通过class名获取一级菜单li,过children()找到li的孩子元素ul,使用show()方法,显示二级菜单。
3、编写隐藏子菜单函数,使用$,并通过class名获取一级菜单li,过children()找到li的孩子元素ul,使用hide()方法, 隐藏二级菜单。
4、做浏览器兼容性测试,至少五个浏览器。IE7,8,9,火狐,谷歌,2345浏览器等。

先来看看效果图:

jQuery实现二级下拉菜单效果

最后我们来看看代码的情况,和前面的区别不大:
HTML代码:

<!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> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
<!--引用百度服务器的jQuery库--> 
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> 
<script type="text/javascript" src="script.js"></script> 
</head> 
 
<body> 
<div id="nav" class="nav"> 
  <ul> 
    <li><a href="#">网站首页</a></li> 
   <li class="navmenu"><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 class="navmenu"><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>

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

/*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; 
}

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

$(function(){ 
  $(".navmenu").mouseover(function(){ 
   $(this).children("ul").show();  
  }) 
  
  $(".navmenu").mouseout(function(){ 
   $(this).children("ul").hide(); 
  }) 
})

希望本文所述对大家学习jquery程序设计有所帮助。

Javascript 相关文章推荐
传智播客学习之java 反射
Nov 22 Javascript
javascript innerText和innerHtml应用
Jan 28 Javascript
jQuery不兼容input的change事件问题解决过程
Dec 05 Javascript
JavaScript中的标签语句用法分析
Feb 10 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
在JavaScript中操作时间之getMonth()方法的使用
Jun 10 Javascript
JavaScript实现简单的tab选项卡切换
Jan 05 Javascript
jQuery插件datatables使用教程
Apr 21 Javascript
Vue 组件间的样式冲突污染
Aug 31 Javascript
Three.js加载外部模型的教程详解
Nov 10 Javascript
JS写谷歌浏览器chrome的外挂实例
Jan 11 Javascript
使用PreloadJS加载图片资源的基础方法详解
Feb 03 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
jQuery EasyUI之DataGrid使用实例详解
Jan 04 #Javascript
You might like
php设计模式 Strategy(策略模式)
2011/06/26 PHP
php判断两个浮点数是否相等的方法
2015/03/14 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
取选中的radio的值
2010/01/11 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python魔法方法详解
2019/02/13 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
办公室文秘岗位职责
2013/11/15 职场文书
展会邀请函范文
2014/01/26 职场文书
求职信范文怎么写
2014/01/29 职场文书
给老师的一封建议书
2014/03/13 职场文书
社会公德演讲稿
2014/05/20 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
责任书格式
2019/04/18 职场文书
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
MySql数据库 查询时间序列间隔
2022/05/11 MySQL