大家都知道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">
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=gb2312"
/>
<
title
>下拉菜单</
title
>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"style.css"
/>
<!--引用百度服务器的jQuery库-->
<
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();
})
})
|