0
我想隐藏一个项目,除非选择了一个类别。我正在使用filteringStart
回调来执行此操作。如何从filterizr对象获取活动的类别数组?有没有办法从jQuery Filterizr获取活动类别?
我想隐藏一个项目,除非选择了一个类别。我正在使用filteringStart
回调来执行此操作。如何从filterizr对象获取活动的类别数组?有没有办法从jQuery Filterizr获取活动类别?
看起来好像有一种公共方法可以在Filterizr库中获得有效的过滤器。编写JavaScript所需的JavaScript并不难,尽管如此。
使用自己的例子之一,产生的HTML代码如下所示:
var selected = $.map($(".filtr-active").toArray(), function(el, i) {
return $(el).data("fltr");
});
要基于特定值做一些事情:
<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>
如下你可以得到选择值的数组被选中,你可以做到以下几点:
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");
});
好通话,韦恩。没有注意到这个活跃的班级。 – IAmNaN
但是,我只是试了一下,那个班级没有设置。有一个叫做filteredOut的类的反函数,在其他类上被设置,所以也许我可以使用它。 – IAmNaN
@IAmNaN我已经用选择器更新了答案,以获得未选定的过滤器:) –