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 相关文章推荐
用Javascript实现Sleep暂停功能代码
Sep 03 Javascript
jquery $.getJSON()跨域请求
Dec 21 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 Javascript
node.js中的fs.lchown方法使用说明
Dec 16 Javascript
快速掌握Node.js模块封装及使用
Mar 21 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
May 12 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
jQuery控制元素隐藏和显示
Mar 03 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
Electron vue的使用教程图文详解
Jul 05 Javascript
vant时间控件使用方法详解
Dec 24 Javascript
如何封装Vue Element的table表格组件
Feb 06 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
PHP性能优化大全(php.ini)
2016/05/20 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
webpack引入eslint配置详解
2018/01/22 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
PHP webshell检查工具 python实现代码
2009/09/15 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
Python单元和文档测试实例详解
2019/04/11 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
应届生英语教师求职信
2013/11/05 职场文书
农林环境专业求职信
2014/03/13 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
毕业生党员个人总结
2015/02/14 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
技术入股合作协议书
2016/03/21 职场文书