2012-03-02 1 views
0

私は偉大な同位体を使用していますし、すべてが正常に動作しますが、今、私は次の操作を行います:jQueryの同位体 - とフィルタリングAND(除外)

私たちは、フィルタ1、フィルタ2、Filter3、などの10個のデータ・フィルタをしました等々。アイテムには、 Filter1とFilter2。 Filter1を選択すると、この項目が表示されます。これはOKです。私がFilter2(Filter1 istはまだアクティブ)を選択すると、その項目はまだそこにあります - それもOKです。今度はFilter3(Filter1とFilter2はまだアクティブです)を選択し、その項目を削除します。このケースは機能しませんでした。

私がFilter3を有効にすると、Filter1またはFilter2またはFilter3を含むすべてのアイテムが取得されます。しかし、私は、Filter1 AND Filter2 AND Filter3を含む項目だけを必要とします。不足しているフィルタ(フィルタ1またはフィルタ2またはフィルタ3)を含むすべてのアイテムを削除する必要があります。

このようにするのがベストプラクティスですか?

コード:

<ul class="project-tags"> 
    <li><a class="all selected" data-filter="all">All</a></li> 
    <li><a class="" title="Filter1" data-filter=".Filter1">Filter1</a></li> 
    <li><a class="" title="Filter2" data-filter=".Filter2">Filter2</a></li> 
    <li><a class="" title="Filter3" data-filter=".Filter3">Filter3</a></li> 
    <li><a class="" title="Filter4" data-filter=".Filter4">Filter4</a></li> 
</ul> 


var $iso = $('#projects'); 

$ iso.isotope({ animationEngine: ''、 itemSelector: '.color字' 石材:{ columnWidthの:257、 columnHeight:147 } });

$.filterIsotope = function(filter) 
{ 
    $iso.isotope({ filter:filter }); 
} 

$('.sidebar a').click(function(event){ 
    //$("body,html").animate({scrollTop:125}); 
    // event.preventDefault(); 
    var cat = $(this).attr('data-filter'), 
     $links = $('#work-grid2 .sidebar a:not(.all)'), 
     filter = ""; 
    if (cat == 'all') 
    { 
     $links.removeClass('selected'); 
    } 
    else 
    { 
     $('.sidebar a.all').removeClass('selected'); 
    } 
    $(this).toggleClass('selected'); 
    $links.each(function(index){ 
     if ($(this).hasClass('selected')) 
     { 
      if (filter.length) filter += ", "; 
      filter += $(this).attr('data-filter'); 
     } 
    }); 
    if (filter == "") $('.sidebar a.all').addClass('selected'); 
    $.filterIsotope(filter); 
}) 
+1

コード。私はコードが必要です。 – Ohgodwhy

答えて

0

私は(数ヶ月多分;)それは少し遅れて知っている)が、他のみんなのために:

isotope filtersは普通のjQueryのセレクタであるため、3つのクラス(すなわちを持っている要素をフィルタリングし、この行に

を取り除く意味であろうと、あなたのコードで

filter: '.Filter1.Filter2.Filter3' 

、私の知る限り(要素が素敵でしたでしょう):)あなたはこのようなものが必要になります

関連する問題