1
私はjQuery Isotopeプラグインを初めて使用していますが、実際にはいくつかの結果が好きですが、 'Sort Filter'を使用するために 'Combination Filter'オプション。jQuery Isotope Combinationフィルタ&ソート
私は1つのフィルタとソートを併用していますが、ソート機能を使用してコンビネーションフィルタを使用することはできません。
私のスクリプトは、次のようになります
<script type="text/javascript">
$(function(){
var $container = $('#container'),
filters = {};
$container.isotope({
itemSelector : '.element',
getSortData : {
name : function ($elem) {
return $elem.find('.name').text();
}
}
});
// 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;
});
var $sortBy = $('#sort-by');
$('#shuffle a').click(function(){
$container.isotope('shuffle');
$sortBy.find('.selected').removeClass('selected');
$sortBy.find('[data-option-value="random"]').addClass('selected');
return false;
});
});
</script>
そして、私の並べ替えのコードは、この、まさに私は、単一のフィルタを使用していたソートコードです
<ul id="sort-by" class="option-set clearfix" data-option-key="sortBy">
<li><a href="#sortBy=original-order" data-option-value="original-order" class="selected" data>Course Date</a></li>
<li><a href="#sortBy=name" data-option-value="name">Course Name</a></li>
<li><a href="#sortBy=random" data-option-value="random">Random</a></li>
</ul>
のように見えます。誰かが私を助けたり、正しい方向に私を向けることができますか?私はjQueryの専門家ではありませんが、私が行っていくうちに勉強しようとしていますので、どんな助けでも大歓迎です。
おかげ
クリス