这是一款带搜索过滤功能的Material Design风格垂直手风琴列表特效。该手风琴特效采用扁平设计风格,点击列表项时带有点击波效果,并且可以通过顶部的搜索框来搜索过滤需要的列表项。
使用方法
使用该手风琴特效需要在页面中引入jquery-accordion-menu.css文件,jquery和jquery-accordion-menu.js文件,另外特效中使用了font-awesome字体图标,需要引入相应的CSS文件。
< link href = "css/jquery-accordion-menu.css" rel = "stylesheet" type = "text/css" />
< link rel = "stylesheet" href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css' >
< script src = "js/jquery.min.js" ></ script >
< script src = "dist/jquery-accordion-menu.js" ></ script >
|
HTML结构
该Material Design风格垂直手风琴的基本HTML结构如下:
< div class = "content" >
< div id = "jquery-accordion-menu" class = "jquery-accordion-menu red" >
< div class = "jquery-accordion-menu-header" id = "form" ></ div >
< ul id = "demo-list" >
< li class = "active" >< a href = "#" >< i class = "fa fa-home" ></ i >Home </ a ></ li >
< li >< a href = "#" >< i class = "fa fa-glass" ></ i >Events </ a ></ li >
< li >< a href = "#" >< i class = "fa fa-file-image-o" ></ i >Gallery </ a >
< span class = "jquery-accordion-menu-label" >12 </ span >
</ li >
< li >< a href = "#" >< i class = "fa fa-cog" ></ i >Services </ a >
< ul class = "submenu" >
< li >< a href = "#" >Web Design </ a ></ li >
< li >< a href = "#" >Hosting </ a ></ li >
< li >< a href = "#" >Design </ a >
< ul class = "submenu" >
< li >< a href = "#" >Graphics </ a ></ li >
< li >< a href = "#" >Vectors </ a ></ li >
< li >< a href = "#" >Photoshop </ a ></ li >
< li >< a href = "#" >Fonts </ a ></ li >
</ ul >
</ li >
< li >< a href = "#" >Consulting </ a ></ li >
</ ul >
</ li >
< li >< a href = "#" >< i class = "fa fa-home" ></ i >System </ a ></ li >
< li >< a href = "#" >< i class = "fa fa-suitcase" ></ i >Portfolio </ a >
< ul class = "submenu" >
< li >< a href = "#" >Web Design </ a ></ li >
< li >< a href = "#" >Graphics </ a >
< span class = "jquery-accordion-menu-label" >10 </ span >
</ li >
< li >< a href = "#" >Photoshop </ a ></ li >
< li >< a href = "#" >Programming </ a ></ li >
</ ul >
</ li >
< li >< a href = "#" >< i class = "fa fa-user" ></ i >About </ a ></ li >
< li >< a href = "#" >< i class = "fa fa-envelope" ></ i >Contact </ a ></ li >
</ ul >
< div class = "jquery-accordion-menu-footer" >
Footer
</ div >
</ div >
</ div >
|
CSS样式
在这个手风琴特效中,搜索框是通过jQuery动态的添加到列表的头部的,jquery-accordion-menu.css文件中提供的是手风琴列表的样式,并没有搜索框的样式,可以为搜索框添加以下的以下CSS样式:
.filterinput{
background-color :rgba( 249 , 244 , 244 , 0 );
border-radius : 15px ;
width : 90% ;
height : 30px ;
border : thin solid #FFF ;
text-indent : 0.5em ;
font-weight : bold ;
color : #FFF ;
}
|
该手风琴特效提供了多种手风琴的颜色主题,有红色,蓝色,绿色,白色和黑色。要使用不同的颜色,只需要修改父容器的class即可,例如要使用绿色的皮肤,可以将父元素的red
class修改为green
。
< div id = "jquery-accordion-menu" class = "jquery-accordion-menu green" >
......
</ div >
|
JavaScript
jquery-accordion-menu.js文件用于处理标准的垂直手风琴下拉事件。可以在页面DOM元素加载完毕之后通过jqueryAccordionMenu()
方法来初始化手风琴特效。
jQuery(document).ready( function () {
jQuery( "#jquery-accordion-menu" ).jqueryAccordionMenu();
});
|
该特效使用jQuery代码来动态为手风琴列表添加一个搜索框,代码如下:
( function ($) {
function filterList(header, list) {
//@header 头部元素
//@list 无序列表
//创建一个搜素表单
var form = $( "<form>" ).attr({
"class" : "filterform" ,
action: "#"
}), input = $( "<input>" ).attr({
"class" : "filterinput" ,
type: "text"
});
$(form).append(input).appendTo(header);
$(input).change( function () {
var filter = $( this ).val();
if (filter) {
$matches = $(list).find( "a:Contains(" + filter + ")" ).parent();
$( "li" , list).not($matches).slideUp();
$matches.slideDown();
} else {
$(list).find( "li" ).slideDown();
}
return false ;
}).keyup( function () {
$( this ).change();
});
}
$( function () {
filterList($( "#form" ), $( "#demo-list" ));
});
})(jQuery);
|