我有一些jquery同位素过滤器和一种。一切都很好,但我想创建一个重置按钮。
我已经尝试了以下(http://stackoverflow.com/questions/10297558/isotope-reset-all-combination-filters),但它确实似乎重置了项目(在第二次点击时),它确实没有重置过滤器按钮。
答案 0 :(得分:1)
在编写
时,我只能假设你的意思是“它没有重置过滤器按钮的外观”[...]它不会重置过滤器按钮。
如果是这种情况,并且过滤器按钮的外观由CSS-classes控制,就像在Isotope的示例中一样,当用户点击时,您只需从过滤器按钮元素中删除所述CSS类。 “重置”按钮。
在e的来源中。 G。 Isotope's 'Combination filters'-demonstration您将找到以下代码,用于处理单击其中一个过滤器按钮时发生的所有事情:
// filter buttons
$('.filter a').click(function(){
var $this = $(this);
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return;
}
var $optionSet = $this.parents('.option-set');
// change selected class
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
// store filter value in object
// i.e. filters.color = 'red'
var group = $optionSet.attr('data-filter-group');
filters[ group ] = $this.attr('data-filter-value');
// convert object into array
var isoFilters = [];
for ( var prop in filters ) {
isoFilters.push( filters[ prop ] )
}
var selector = isoFilters.join('');
$container.isotope({ filter: selector });
return false;
});
可以在以下几行中找到与您的问题相关的重要代码(希望如此):
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');