Javascript 重置jQuery过滤器和排序
我有许多jQuery同位素过滤器和一个排序。所有的工作都非常好,但我想创建一个重置按钮Javascript 重置jQuery过滤器和排序,javascript,jquery,jquery-plugins,jquery-isotope,Javascript,Jquery,Jquery Plugins,Jquery Isotope,我有许多jQuery同位素过滤器和一个排序。所有的工作都非常好,但我想创建一个重置按钮 我尝试了以下stackoverflow:,但虽然它似乎在第二次单击时重置了项目,但它没有重置过滤器按钮。我只能假设您的意思是,它在写入时没有重置过滤器按钮的外观 […]它不会重置过滤器按钮 如果是这种情况,并且您的过滤器按钮的外观是由CSS类控制的,就像同位素的示例中一样,您只需在用户单击重置按钮时从过滤器按钮元素中删除所述CSS类即可 在e。G您将发现以下代码,该代码处理单击其中一个筛选器按钮时发生的所有事
我尝试了以下stackoverflow:,但虽然它似乎在第二次单击时重置了项目,但它没有重置过滤器按钮。我只能假设您的意思是,它在写入时没有重置过滤器按钮的外观 […]它不会重置过滤器按钮 如果是这种情况,并且您的过滤器按钮的外观是由CSS类控制的,就像同位素的示例中一样,您只需在用户单击重置按钮时从过滤器按钮元素中删除所述CSS类即可 在e。G您将发现以下代码,该代码处理单击其中一个筛选器按钮时发生的所有事件:
// 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');
第一行从$optionSet中的所有元素中删除所有“selected”类,后者只是针对单个筛选器属性的一组按钮
第二个为用户单击的元素设置“selected”类