問題は、CreateTabs
およびPagination
の機能にあります。ここで
はCreateTabs
のためのソリューションです:
$.fn.CreateTabs = function(filterClass){
var CoundNumberOfDivs = $('#portfolio-items li:visible').length;
$('.pagination li a').hide();
if(CoundNumberOfDivs <= 4) {
return false;
}
else {
var num = Math.ceil(CoundNumberOfDivs/4);
$('.pagination li a:lt(' + num + ')').show();
$('#portfolio-items li').hide();
if (filterClass === undefined) {
$('#portfolio-items li:lt(4)').show();
} else {
$('#portfolio-items li.' + filterClass + ':lt(4)').show();
}
}
};
})(jQuery);
あなたが最初の4つの要素の一つにlogo
クラスを削除した場合、あなたはフィルタが動作することを確認できます。 ページネーションはまだ問題を解決します...だからここに解決策があります。率直に言って、これはちょうど悪いです -
var filterClass;
$('.portfolio-filter li a').click(function() {
$('.portfolio-filter > .selected').prop('class','');
$(this).parent('li').addClass('selected');
filterClass = $(this).attr('class');
$('#portfolio-items li').hide();
$('#portfolio-items li.' + filterClass).show();
$('#portfolio-items').CreateTabs(filterClass);
});
$('ul.pagination li a').click(function(event) {
$('ul.pagination li .active').removeClass('active');
$(this).addClass('active');
var PI = $('#portfolio-items li' + (filterClass !== undefined) ? '.' + filterClass : '');
$('#portfolio-items li').hide();
.....
if ($(this).hasClass('href-1')) {
PI.slice(0, 4).show();
}
.... etc
との一部を書き換えする必要があります。
ページ区切りコードは、選択したタブのリンクだけでなく、すべてのリンクを表示します。ロゴは4つ以上のアイテムを持つ唯一のタブなので、他のタブには表示されません。 – Pelshoff
@Pelshoff - 私は理解していない - もう一度説明してみることができますか? – Iladarsda