jquery实现二级导航下拉菜单效果

大家都知道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浏览器等。

先来看看效果图:


最后我们来看看代码的情况,和前面的区别不大:
HTML代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!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文件代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*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文件代码:

?
1
2
3
4
5
6
7
8
9
$( function (){
   $( ".navmenu" ).mouseover( function (){
    $( this ).children( "ul" ).show(); 
   })
   
   $( ".navmenu" ).mouseout( function (){
    $( this ).children( "ul" ).hide();
   })
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值