大家都知道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="https://www.jb51.net/jquery/jquery-1.7.1.min.js"></script>
第二种方法:直接引用在线服务器上的jQuery库文件,比如谷歌服务器jQuery库,百度服务器jQuery库等。
例如:引用百度服务器上的jQuery库文件
<script type="text/javascript" src="https://www.jb51.net/jquery/1.9.0/jquery.js"></script>
接下来看看制作的流程:
1、调用jQuery库:编写代码,引用jquery库。由于谷歌已退出大陆,建议使用百度服务器的jQuery库。
注意: 百度服务器的jQuery库地址:
2 、编写显示子菜单函数,使用$,并通过class名获取一级菜单li,过children()找到li的孩子元素ul,使用show()方法,显示二级菜单。
3、编写隐藏子菜单函数,使用$,并通过class名获取一级菜单li,过children()找到li的孩子元素ul,使用hide()方法, 隐藏二级菜单。
4、做浏览器兼容性测试,至少五个浏览器。IE7,8,9,火狐,谷歌,2345浏览器等。
先来看看效果图:
最后我们来看看代码的情况,和前面的区别不大:
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 type="text/css" href="https://www.jb51.net/style.css" /> <!--引用百度服务器的jQuery库--> <script src="https://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript" src="https://www.jb51.net/script.js"></script> </head> <body> <div> <ul> <li><a href="#" >网站首页</a></li> <li><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><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(); }) })