私は偉大な同位体を使用していますし、すべてが正常に動作しますが、今、私は次の操作を行います: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);
})
コード。私はコードが必要です。 – Ohgodwhy