多数の jQuery isotopeフィルターとsortがあります。すべてがうまく機能しますが、リセットボタンを作成したいと思います。
私は次のことを試しました(stackoverflow:すべての組み合わせフィルターをリセットします)が、(2回目のクリックで)アイテムをリセットしているように見えますが、フィルターボタンはリセットされません。
多数の jQuery isotopeフィルターとsortがあります。すべてがうまく機能しますが、リセットボタンを作成したいと思います。
私は次のことを試しました(stackoverflow:すべての組み合わせフィルターをリセットします)が、(2回目のクリックで)アイテムをリセットしているように見えますが、フィルターボタンはリセットされません。
書くときは「フィルターボタンの見た目をリセットしない」という意味だと思います。
[…]フィルターボタンはリセットされません。
その場合、Isotopeの例のように、フィルターボタンの外観がCSSクラスによって制御されている場合は、ユーザーが[リセット]をクリックしたときに、フィルターボタン要素から上記のCSSクラスを削除するだけです。 "-ボタン。
たとえば、Isotopeの「Combinationfilters」-デモンストレーションのソースには、フィルターボタンの1つがクリックされたときに発生するすべてを処理する次のコードがあります。
// 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');