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 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
jQuery异步获取json数据方法汇总
Dec 22 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
Aug 02 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
Apr 13 Javascript
Underscore之Array_动力节点Java学院整理
Jul 10 Javascript
JS库中的Particles.js在vue上的运用案例分析
Sep 13 Javascript
react-native动态切换tab组件的方法
Jul 07 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
解决layer弹出层msg的文字不显示的问题
Sep 11 Javascript
谈谈JavaScript中的函数
Sep 08 Javascript
基于postman获取动态数据过程详解
Sep 08 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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
JS可以控制样式的名称写法一览
2014/01/16 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
python optparse模块使用实例
2015/04/09 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
Python中装饰器高级用法详解
2017/12/25 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
联想中国官方商城:Lenovo China
2017/10/18 全球购物
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
瑞典度假品牌:OAS
2019/05/28 全球购物
SQL语言面试题
2013/08/27 面试题
教师四风对照检查材料思想汇报
2014/09/17 职场文书
2014司机年终工作总结
2014/12/05 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python
JUnit5常用注解的使用
2021/07/02 Java/Android
Window server中安装Redis的超详细教程
2021/11/17 Redis