2017-05-04 62 views

回答

2

看起来好像有一种公共方法可以在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"); 
}); 
+0

好通话,韦恩。没有注意到这个活跃的班级。 – IAmNaN

+0

但是,我只是试了一下,那个班级没有设置。有一个叫做filteredOut的类的反函数,在其他类上被设置,所以也许我可以使用它。 – IAmNaN

+0

@IAmNaN我已经用选择器更新了答案,以获得未选定的过滤器:) –

相关问题