13

いくつかのデータフィルターグループを使用してアイソトープコンビネーションフィルターをセットアップし、それぞれに残り/すべてのリスト項目を表示します。

<li><a href="#" data-filter="*">Show all</a></li>

すべてのデータフィルターグループをリセットする方法はありますか? 「すべてリセット」リンクですか?

私の現在のJavaScriptは次のとおりです。

        var $container = $('.content ul.sort'),
            filters = {};

        $container.isotope({
          itemSelector : '.dynamic-filter'
        });

        // 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;
        });

何か案は?

<-- 編集 -->

私自身の質問に対する答えを見つけたようです:

        $(".isotope-reset").click(function(){
        $(".content ul.sort").isotope({
            filter: '*'
        });
    });
4

2 に答える 2

20

投稿者は答えを答えに入れなかったので、ここでは、この質問にたどり着き、答えがあることがわからない人向けです


次のコードはアイソトープ フィルターをリセットします。

$(".isotope-reset").click(function(){
    $(".content ul.sort").isotope({
        filter: '*'
    });
});
于 2013-12-03T14:22:17.810 に答える