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表达式中连续的 &amp;&amp; 和 || 之赋值区别
Oct 17 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
原生javascript实现匀速运动动画效果
Feb 26 Javascript
vue.js声明式渲染和条件与循环基础知识
Jul 31 Javascript
vue系列之动态路由详解【原创】
Sep 10 Javascript
JS解决position:sticky的兼容性问题的方法
Oct 17 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
Apr 05 Javascript
JavaScript键盘事件响应顺序详解
Sep 30 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
JavaScript实现简单计时器
Jun 22 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
js 异步处理进度条
2010/04/01 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python和Go语言的区别总结
2019/02/20 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
python配置文件写入过程详解
2019/10/19 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
党员服务承诺书
2014/05/28 职场文书
出售房屋协议书范本
2014/10/06 职场文书
会计简历自我评价
2015/03/10 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL