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 相关文章推荐
硬盘浏览程序,保存成网页格式便可使用
Dec 03 Javascript
Javascript中自动切换焦点实现代码
Dec 15 Javascript
JS判断、校验MAC地址的2个实例
May 05 Javascript
jQuery中delegate()方法用法实例
Jan 19 Javascript
JavaScript实现的简单幂函数实例
Apr 17 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
JS实现的仿淘宝交易倒计时效果
Nov 27 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 Javascript
基于Javascript实现二级联动菜单效果
Mar 04 Javascript
浅析JavaScript Array和string的转换(推荐)
May 20 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 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
对盗链说再见...
2006/10/09 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
PHP实现QQ快速登录的方法
2016/09/28 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
javascript event 事件解析
2011/01/31 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
ES6中Math对象的部分扩展
2017/02/20 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
Python模拟登录的多种方法(四种)
2018/06/01 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
详解python数据结构和算法
2019/04/18 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
考博专家推荐信模板
2013/12/02 职场文书
网络技术专业推荐信
2014/02/20 职场文书
岗位职责说明书
2014/05/07 职场文书
不错的求职信范文
2014/07/20 职场文书
我的收音机情缘
2022/04/05 无线电
Python Numpy库的超详细教程
2022/04/06 Python
Oracle用户管理及赋权
2022/04/24 Oracle