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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
js实现遮罩层弹出框的方法
Jan 15 Javascript
js实现三级联动效果(简单易懂)
Mar 27 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
JS实现简单的天数计算器完整实例
Apr 28 Javascript
jquery实现图片上传前本地预览
Apr 28 jQuery
浅谈vue引用静态资源需要注意的事项
Sep 28 Javascript
javascript异步编程的六种方式总结
May 17 Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 Javascript
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
基于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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
php程序员应具有的7种能力小结
2014/11/27 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
解决在vue项目中webpack打包后字体不生效的问题
2018/09/01 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
Python实现发送email的几种常用方法
2014/08/18 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
分厂厂长岗位职责
2013/12/29 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
合同协议书格式
2014/04/18 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
故宫的导游词
2015/01/31 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android
redis复制有可能碰到的问题汇总
2022/04/03 Redis