使用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="http://libs.baidu.com/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浏览器等。
最后我们来看看代码的情况,和前面的区别不大:
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" />
-
- <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文件代码:
-
- *{
- 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;
- }
-
- 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();
- })
- })
我们来看看效果:
1初始化状态或鼠标离开显示为横向一级菜单:
2鼠标滑过有二级下拉菜单的元素时显示下拉菜单:
3显示的下拉菜单中的链接样式: