除非选择了某个类别,否则我想隐藏单个项目。我使用filteringStart
回调来执行此操作。如何从filterizr对象获取活动类别数组?
答案 0 :(得分:2)
看起来似乎没有公共方法可以在Filterizr库中获取活动过滤器。编写所需的JavaScript并不困难。
使用他们的一个例子,html看起来如下:
<ul class="nav nav-gallery filters-filteringModeSingle" id="filteringModeSingle">
<li class="filtr-button filtr" data-fltr="all">All</li>
<li class="filtr-button filtr" data-fltr="green">Green</li>
<li class="filtr-button filtr filtr-active" data-fltr="orange">Orange</li>
<li class="filtr-button filtr" data-fltr="purple">Purple</li>
<li class="filtr-button filtr" data-fltr="mix">Mix</li>
</ul>
您可以按如下方式获取所选值的数组:
var selected = $.map($(".filtr-active").toArray(), function(el, i) {
return $(el).data("fltr");
});
要根据所选的特定值执行某些操作,您可以执行以下操作:
if (selected.indexOf("green") !== -1) {
console.log("You selected green!");
}
我希望这是有道理的!
编辑:
您可以通过调整选择器来获取未选择的过滤器。
var notSelected = $.map($(".filtr:not(.filtr-active)").toArray(), function (el, i) {
return $(el).data("fltr");
});