2014-07-04 19:09:47|?次阅读|上传:huigezrx【已有?条评论】发表评论
关键词:JavaScript, JQuery, Web|来源:唯设编程网
JQuery功能非常强大,使用它创建一个下拉菜单非常简单,本文介绍其制作方法,下面是该案例实现的最终效果:

菜单栏的内容非常简单:
<div class="nav"> <div id="left"><img src="images/nav_l.jpg"></div> <ul> <li><a class="link" href="#">网站首页</a></li> <li class="mainmenu"> <a class="link" href="#">电子商务</a> <dl> <dd><a href="#">零度对策</a></dd> <dd><a href="#">网站建设</a></dd> <dd><a href="#">网络营销</a></dd> <dd><a href="#">电子商务</a></dd> <dd><a href="#">广告代码</a></dd> <dd><a href="#">网页菜单</a></dd> </dl> </li> <li class="mainmenu"> <a class="link" href="#">网络营销</a> <dl> <dd><a href="#">零度对策</a></dd> <dd><a href="#">网站建设</a></dd> <dd><a href="#">网络营销</a></dd> <dd><a href="#">电子商务</a></dd> <dd><a href="#">广告代码</a></dd> <dd><a href="#">网页菜单</a></dd> </dl> </li> <li class="mainmenu"> <a class="link" href="#">客户服务</a> <dl> <dd><a href="#">零度对策</a></dd> <dd><a href="#">网站建设</a></dd> <dd><a href="#">网络营销</a></dd> <dd><a href="#">电子商务</a></dd> <dd><a href="#">广告代码</a></dd> <dd><a href="#">网页菜单</a></dd> </dl> </li> <li class="mainmenu"> <a class="link" href="#">工程案例</a> <dl> <dd><a href="#">零度对策</a></dd> <dd><a href="#">网站建设</a></dd> <dd><a href="#">网络营销</a></dd> <dd><a href="#">电子商务</a></dd> <dd><a href="#">广告代码</a></dd> <dd><a href="#">网页菜单</a></dd> </dl> </li> <li class="mainmenu"> <a class="link" href="#">行业资讯</a> <dl> <dd><a href="#">零度对策</a></dd> <dd><a href="#">网站建设</a></dd> <dd><a href="#">网络营销</a></dd> <dd><a href="#">电子商务</a></dd> <dd><a href="#">广告代码</a></dd> <dd><a href="#">网页菜单</a></dd> </dl> </li> <li class="mainmenu"><a href="#">联系我们</a></li> </ul> <div id="right"><img src="images/nav_r.jpg"></div> </div>
菜单被包含在一个div中,该div包含菜单的左侧部分和右侧部分,还包含一个使用ul构成的菜单主体。其中每个菜单项对应一个ul的li节点,子菜单包含在dl中,每一个子菜单对应一个dd节点。下面通过css调整菜单的样式:
<style type="text/css">
* {
list-style-type: none;
margin: 0;
padding: 0;
}
#left {
float: left;
}
#right {
float: right;
}
.nav {
background: url("images/nav_bg.jpg") repeat-x scroll 0 0 rgba(0, 0, 0, 0);
height: 46px;
margin: 40px auto;
width: 1000px;
}
.nav li {
float: left;
font-size: 14px;
height: 46px;
line-height: 46px;
position: relative;
text-align: center;
width: 108px;
}
.nav li a {
color: #fff;
display: block;
text-decoration: none;
}
.nav li a.link {
float: left;
width: 108px;
}
.nav ul li a:hover {
background: url("images/nav_hover.jpg") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
display: block;
}
.nav dl {
background: none repeat scroll 0 0 #fcc;
border: 1px solid #c33;
font-size: 12px;
left: 0;
position: absolute;
top: 46px;
width: 108px;
}
.nav dl dd a {
color: #933;
}
.nav dl dd a:hover {
background: none repeat scroll 0 0 #f36;
color: #000;
opacity: 0.5;
}
</style>
css的设置方法非常简单,如果有不清楚可以直接拷贝其中的代码,需要提醒注意的是position:absolute的父容器最好使用position:relative进行定位。下面是JQuery设置菜单动态效果的代码:
$(function(){
$("dl").hide();
$("li.mainmenu").hover(function(){
$(this).find("dl").stop(true,true);
$(this).find("dl").slideDown();
},function(){
$(this).find("dl").stop(true,true);
$(this).find("dl").slideUp();
});
})
默认情况让所有子菜单隐藏,这通过JQuery的选择器$("dl")来实现,然后添加菜单项的hover响应函数,注意这是一个回调函数,包括一个鼠标移动到菜单上面和离开菜单对应的两个函数,鼠标移动到菜单时使用slideDown将子菜单显示,鼠标离开后使用slideUp将子菜单隐藏。
由此可见,使用JQuery的强大功能实现一些网页特效是非常简单方便的。