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 相关文章推荐
js使用html()或text()方法获取设置p标签的显示的值
Aug 01 Javascript
AngularJS 使用$sce控制代码安全检查
Jan 05 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 Javascript
老生常谈JavaScript中的this关键字
Oct 01 Javascript
Bootstrap导航中表单简单实现代码
Mar 06 Javascript
微信小程序WebSocket实现聊天对话功能
Jul 06 Javascript
优化Vue中date format的性能详解
Jan 13 Javascript
微信小程序返回上一级页面的实现代码
Jun 19 Javascript
vue实现页面切换滑动效果
Jun 29 Javascript
在webstorm中配置less的方法详解
Sep 25 Javascript
Nuxt.js 静态资源和打包的操作
Nov 06 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
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
php 删除cookie方法详解
2014/12/01 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
详解通过JSON数据使用VUE.JS
2017/05/26 Javascript
Javascript实现时间倒计时效果
2017/07/15 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
python正则表达式re之compile函数解析
2017/10/25 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
Python运算符+与+=的方法实例
2021/02/18 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
新东网科技Java笔试题
2012/07/13 面试题
信息管理专业自荐书
2014/06/05 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
会议主持人开场白台词
2015/05/28 职场文书
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL