jQuery实现多级手风琴菜单
http://www.helloweba.com/view-blog-175.html
手风琴菜单一般用于下拉导航,由于外观非常简洁,使用起来跟手风琴一样可以拉伸和收缩而得名,项目中适当应用手风琴效果会给用户带来非常好的体验。本文借助jQuery插件轻松打造一个非常不错的手风琴效果的菜单。
Demo:http://www.helloweba.com/demo/multi_menu/
Download:http://www.helloweba.com/demo/down/multi_menu.rar
HTML
首先在head间引用jQuery和插件。
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/accordion.js"></script>
接着,在body间写上菜单主体代码,HTML代码将由一系列无序列表组成。
<ul class="nav"> <li><a href="http://www.helloweba.com">首页</a></li> <li><a href="#">服务</a></li> <li><a href="#">案例</a></li> <li><a href="#">文章</a></a> <ul> <li><a href="#" target="_blank">XHTML/CSS</a></li> <li><a href="#">Javascript/Ajax/jQuery</a> <ul> <li><a href="#">Cookies</a></li> <li><a href="#">Event</a></li> <li><a href="#">Games</a></li> <li><a href="#">Images</a></li> </ul> </li> <li><a href="#" target="_blank">PHP/MYSQL</a></li> <li><a href="#" target="_blank">前端观察</a></li> <li><a href="#" target="_blank">HTML5/移动WEB应用</a></li> </ul> </li> <li><a href="#">关于</a></li> </ul>
CSS
当然,我们要为这个无序列表加上样式,让它非常简洁的呈现在屏幕上。
ul{
list-style:none
}
.nav{
width:213px;
padding:40px28px25px0;
font-family:"Microsoftyahei",Arial,Helvetica,sans-serif;
}
ul.nav{
padding:0;
margin:0;
font-size:1em;
line-height:0.5em;
list-style:none;
}
ul.navli{
}
ul.navul{
margin:0;
padding:0;
display:none;
}
ul.navulli{
margin:0;
padding:0;
clear:both;
}
/*第一级*/
ul.navlia{
line-height:10px;
font-size:14px;
padding:10px5px;
color:#000;
display:block;
text-decoration:none;
font-weight:bolder;
}
ul.navlia:hover{
background-color:#675C7C;
color:white;
}
/*第二级*/
ul.navullia{
padding-left:20px;
font-size:12px;
font-weight:normal;
}
ul.navullia:hover{
background-color:#D3C99C;
color:#675C7C;
}
/*第三级*/
ul.navulullia{
color:silver;
padding-left:40px;
}
ul.navulullia:hover{
background-color:#D3CEB8;
color:#675C7C;
}
ul.navspan{
float:right;
}
jQuery
调用accordion插件,设置相关属性,一个漂亮的手风琴效果就完成了。
$(function(){ $(".nav").accordion({ speed: 500, closedSign: '[+]', openedSign: '[-]' }); });
可以看出,区分多级,其实是靠css的背景等信息来区分的。
Accordion提供以下选项设置:
speed:数字毫秒,设置菜单展开和关闭的时间。
closedSign:当下级菜单关闭时,显示于菜单旁边的内容,可以是任意html或者text。
openedSign:当下级菜单展开时,显示于菜单旁边的内容,可以是任意html或者text。
注意,如果你想菜单初始载入时就展开的话,可以在对应要展开的li上加class="active"。
声明:本文为原创文章,helloweba.com和作者拥有版权,如需转载,请注明来源于helloweba.com并保留原文链接,否则视为侵权。