这是一款使用上非常简单的jQuery和CSS3元素分类过滤和排序插件。这个分类过滤和排序插件使用CSS的matrix()函数来对元素进行排序转换。整个分类过滤和排序的动画过渡十分的平滑。
安装
可以通过npm和bower来安装该插件。
$ npm install sortboard
$ bower install sortboard
使用方法
HTML结构
可以通过一个列表来存放要进行分类过滤和排序的元素。例如使用无序列表,将要进行分类过滤和排序的元素放入到每一个<li>
元素中,每一个<li>
元素的data-filter
属性用于存放该元素的类别,多个类别用空格分开。
<ul id="sortlist">
<li data-filter="black second-line infantry-black">♟</li>
<li data-filter="black second-line infantry-black">♛</li>
<li data-filter="black second-line infantry-black">♚</li>
<li data-filter="black second-line infantry-black">♜</li>
...
</ul>
JAVASCRIPT
你可以通过纯javascript来调用该插件。
var sortlist = document.getElementById('sortlist');
var sb = new Sortboard(sortlist, {
gutter: 10,
filterComplete: function(data) {
console.log(data);
},
sortComplete: function() {
console.log('Sorting is completed.');
}
});
// Filter by tag
sb.filterBy('programing');
也可以通过jQuery来调用该插件。
$('#sortlist').sortboard({
gutter: 10,
filterComplete: function(e) {
console.log(e);
},
sortComplete: function() {
console.log('Sort is completed.');
}
});
// Filter by tag
$('#sortlist').sortboard('filterBy', 'programing');
配置参数
- gutter:每个列表项之间的margin,单位像素。
-
hiddenClass:隐藏元素的class名称。默认的class名称是
.hidden
。 -
itemsMatchName:匹配元素的class名称。它可以是一个class,如
.items
,或者是一个标签的名称。默认值是li
标签。 - filterComplete:当分类过滤完成后的回调函数。
- sortComplete:当排序完成后的回调函数。
方法
- sort():将元素进行排序。
-
filterBy(string):使用参数
string
来进行分类过滤。该方法和列表项的data-filter
属性匹配。 - getFilter():获取当前过滤的字符串。
- getItems():获取所有的列表项。
- getFoundItems():获取匹配的列表项。
- getNotFoundItems():获取不匹配的列表项。
版权声明
版权说明: 仅限用于学习和研究目的;不得将上述内容用于商业和非法用途!否则一切后果自负。我们非常重视版权问题,如有侵权请邮件至(171373236#qq.com)与我们联系处理,敬请谅解!