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 相关文章推荐
特殊字符、常规符号及其代码对照表
Jun 26 Javascript
让alert不出现弹窗的两种方法
May 18 Javascript
js键盘事件的keyCode
Jul 29 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
Dec 10 Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 Javascript
jQuery给表格添加分页效果
Mar 02 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
js中let和var定义变量的区别
Feb 08 Javascript
vue+iview+less 实现换肤功能
Aug 17 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
Jul 15 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
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
javascript new 需不需要继续使用
2009/07/02 Javascript
jQuery的学习步骤
2011/02/23 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
python检测服务器端口代码实例
2019/08/31 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
用python实现名片管理系统
2020/06/18 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
音乐学个人的自荐书范文
2013/11/26 职场文书
领导的自我鉴定
2013/12/28 职场文书
给校长的建议书100字
2014/05/16 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
小学庆六一活动总结
2014/08/28 职场文书
公司催款律师函
2015/05/27 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android