2017-05-04 101 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我已經用選擇器更新了答案,以獲得未選定的過濾器:) –

相關問題