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的强大功能实现一些网页特效是非常简单方便的。