0
我嘗試在使用Isotope.js的類似投資組合的頁面內使用多個過濾器。請看看這個頁面:http://decart-design.com/avancia-wp/vi-tilbyr/。單過濾器工作正常,但不是多個過濾器不:(這是我使用的一段JS代碼:jQuery Isotope - 多個過濾器的問題
jQuery('.filtering li').on('click', 'a', function(e) {
e.preventDefault();
if (jQuery(this).parent().hasClass('selected')) {
return;
}
var filters = {},
optionSet = jQuery(this).parents('.option-set');
jQuery(this).parent().parent().find('li').removeClass('selected');
jQuery(this).parent().addClass('selected');
var group = optionSet.data('filter-group');
filters[group] = jQuery(this).data('filter');
var isoFilters = [];
for (var prop in filters) {
isoFilters.push(filters[prop]);
}
var selector = isoFilters.join('');
var portfolioItems = jQuery(this).parent().parent().parent().parent().find('.filterable-items');
portfolioItems.isotope({ filter: selector });
console.log(selector);
return false;
});
由於某種原因(我不明白爲什麼),但isoFilters.push(filters[prop]);
只是不起作用。在我點擊第二個過濾器後,items數組只是用新值替換,而不是將其添加到此數組。正如你在控制檯中看到的那樣,它只是用新值替換而不是將它添加到數組中。這太奇怪了......
這是來自作者網站的一個工作示例:http://isotope.metafizzy.co/demos/combination-filters.html。
請別人幫我弄清楚我做錯了什麼? 預先感謝您!希望有人能幫我解決這個問題。
最好的問候, 亞歷