jQuery实现的二级下拉菜单详解:
二级下拉菜单在实际应用中非常的常见,比如企业网站的产品分类,或者部门分类等等,下面就通过代码实例详细介绍一下简单的二级下拉菜单是如何实现的,当然还有更为复杂的二级菜单,不过先学会如何制作简单的才是上进之路。
代码如下:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> <style type="text/css"> nav a{ text-decoration:none; } nav>ul>li{ float:left; text-align:center; padding:0 0.5em; width:120px; } nav li ul.sub-menu{ display:none; padding-left:0 !important; } .sub-menu li{color:white;} .sub-menu li:hover{background-color:black;} .sub-menu li:hover a{color:white;} ul{list-style: none;} </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('.box> li').hover(function(){ $(this).find('.sub-menu').css('display', 'block'); },function(){ $(this).find('.sub-menu').css('display', 'none'); }); }); </script> </head> <body> <nav> <ul class="box"> <li><a href="#">前端专区</a> <ul class="sub-menu"> <li><a href="#">jquery教程</a></li> <li><a href="#">css教程</a></li> <li><a href="#">js教程</a></li> </ul> </li> <li><a href="#">资源专区</a> <ul class="sub-menu"> <li><a href="#">电脑模板下载</a></li> <li><a href="#">手机模板下载</a></li> <li><a href="#">特效下载</a></li> </ul> </li> <li><a href="#">交流专区</a> <ul class="sub-menu"> <li><a href="#">运营交流</a></li> <li><a href="#">seo优化</a></li> <li><a href="#">站长交流</a></li> </ul> </li> </ul> </nav> </body> </html>
以上代码代码可实现了我们的要求,下面介绍一下他的实现过程。
一.实现原理:
所谓的下拉菜单就是鼠标悬浮的时候,能偶使一个隐藏的元素显示,这个隐藏的元素里面的内容就是二级下拉菜单,当鼠标离开的时候,这个元素然后隐藏,那么二级下拉菜单也就消失了,这就是基本的原理。
二.代码注释:
1.<li><a href="#">前端专区</a>
<ul class="sub-menu">
<li><a href="#">jquery教程</a></li>
<li><a href="#">css教程</a></li>
<li><a href="#">js教程</a></li>
</ul>
</li>
上面的代码是二级下拉菜单的框架,在默认状态下,里面的ul是隐藏的,也就是默认状态二级下拉菜单是隐藏的。
2.$(document).ready(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
3.$('.box> li').hover(function(){}),box下的一级li元素注册hover事件处理函数,也就是鼠标悬浮和离开要执行的函数。
4.$(this).find('.sub-menu').css('display', 'block'),将二级菜单ul元素显示处理。
5.function(){$(this).find('.sub-menu').css('display', 'none');}),将二级菜单隐藏。
三.相关阅读:
1.hover()可以参阅jQuery的hover事件一章节。
2.find()函数可以参阅jQuery的find()方法一章节。
3.css()函数可以参阅jQuery的css()方法一章节。
原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13919
更多内容可以参阅:http://www.softwhy.com/jquery/