码迷,mamicode.com
首页 > Web开发 > 详细

Web前端开发实战3:二级下拉式菜单之jQuery实现

时间:2015-12-31 22:58:59      阅读:476      评论:0      收藏:0      [点我收藏+]

标签:

       大家都知道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="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" />
<!--引用百度服务器的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();
	 })
})
       我们来看看效果:

       1初始化状态或鼠标离开显示为横向一级菜单:

技术分享

       2鼠标滑过有二级下拉菜单的元素时显示下拉菜单:

技术分享

       3显示的下拉菜单中的链接样式:

技术分享






Web前端开发实战3:二级下拉式菜单之jQuery实现

标签:

原文地址:http://blog.csdn.net/erlian1992/article/details/50443474

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!