我正在使用cube portfolio插件在我的页面上显示一组事件。我也在使用过滤器,根据数据过滤器显示不同的项目。
有一个'all'过滤器,类'cbp-filter-item-active'显示页面加载时的所有项目,但我删除它,因为我不想要它并移动了'cbp-filter-item-活动'类到下一个过滤器,但它仍然显示所有项目,而不是页面加载时该类别中的项目。
我只希望活动类别中的项目显示在页面加载上,而不是所有项目。
我想在js告诉它在加载时显示所有项目?我只是不确定是什么部分或如何改变它。
原始过滤器:
<div id="filters-container" class="cbp-l-filters-text content-xs">
<div data-filter="*" class="cbp-filter-item-active cbp-filter-item"> All </div> |
<div data-filter=".identity" class="cbp-filter-item"> Identity </div> |
<div data-filter=".web-design" class="cbp-filter-item"> Web Design </div> |
<div data-filter=".graphic" class="cbp-filter-item"> Graphic </div> |
<div data-filter=".logos" class="cbp-filter-item"> Logo </div>
</div><!--/end Filters Container-->
我将其更改为:
<div id="filters-container" class="cbp-l-filters-text content-xs">
<div data-filter=".identity" class="cbp-filter-item-active cbp-filter-item"> Identity </div> |
<div data-filter=".web-design" class="cbp-filter-item"> Web Design </div> |
<div data-filter=".graphic" class="cbp-filter-item"> Graphic </div> |
<div data-filter=".logos" class="cbp-filter-item"> Logo </div>
</div><!--/end Filters Container-->
Cube portfolio JS:
(function ($, window, document, undefined) {
var gridContainer = $('#grid-container'),
filtersContainer = $('#filters-container');
// init cubeportfolio
gridContainer.cubeportfolio({
defaultFilter: '*',
animationType: 'fadeOut',
gapHorizontal: 20,
gapVertical: 20,
gridAdjustment: 'responsive',
caption: 'zoom',
displayType: 'sequentially',
displayTypeSpeed: 100,
// lightbox
lightboxDelegate: '.cbp-lightbox',
lightboxGallery: true,
lightboxTitleSrc: 'data-title',
lightboxShowCounter: true,
// singlePage popup
singlePageDelegate: '.cbp-singlePage',
singlePageDeeplinking: true,
singlePageStickyNavigation: true,
singlePageShowCounter: true,
singlePageCallback: function (url, element) {
// to update singlePage content use the following method: this.updateSinglePage(yourContent)
},
// singlePageInline
singlePageInlineDelegate: '.cbp-singlePageInline',
singlePageInlinePosition: 'below',
singlePageInlineShowCounter: true,
singlePageInlineInFocus: true,
singlePageInlineCallback: function(url, element) {
// to update singlePageInline content use the following method: this.updateSinglePageInline(yourContent)
var t = this;
$.ajax({
url: url,
type: 'GET',
dataType: 'html',
timeout: 5000
})
.done(function(result) {
t.updateSinglePageInline(result);
})
.fail(function() {
t.updateSinglePageInline("Error! Please refresh the page!");
});
}
});
// add listener for filters click
filtersContainer.on('click', '.cbp-filter-item', function (e) {
var me = $(this), wrap;
// get cubeportfolio data and check if is still animating (reposition) the items.
if ( !$.data(gridContainer[0], 'cubeportfolio').isAnimating ) {
if ( filtersContainer.hasClass('cbp-l-filters-dropdown') ) {
wrap = $('.cbp-l-filters-dropdownWrap');
wrap.find('.cbp-filter-item').removeClass('cbp-filter-item-active');
wrap.find('.cbp-l-filters-dropdownHeader').text(me.text());
me.addClass('cbp-filter-item-active');
} else {
me.addClass('cbp-filter-item-active').siblings().removeClass('cbp-filter-item-active');
}
}
// filter the items
gridContainer.cubeportfolio('filter', me.data('filter'), function () {});
});
// add listener for load more click
$('.button').on('click', function(e) {
e.preventDefault();
var clicks, me = $(this), oMsg;
if (me.hasClass('cbp-l-loadMore-button-stop')) return;
// get the number of times the loadMore link has been clicked
clicks = $.data(this, 'numberOfClicks');
clicks = (clicks)? ++clicks : 1;
$.data(this, 'numberOfClicks', clicks);
// set loading status
oMsg = me.text();
me.text('LOADING...');
// perform ajax request
$.ajax({
url: me.attr('href'),
type: 'GET',
dataType: 'HTML'
})
.done( function (result) {
var items, itemsNext;
// find current container
items = $(result).filter( function () {
return $(this).is('div' + '.cbp-loadMore-block' + clicks);
});
gridContainer.cubeportfolio('appendItems', items.html(),
function () {
// put the original message back
me.text(oMsg);
// check if we have more works
itemsNext = $(result).filter( function () {
return $(this).is('div' + '.cbp-loadMore-block' + (clicks + 1));
});
if (itemsNext.length === 0) {
me.text('NO MORE WORKS');
me.addClass('cbp-l-loadMore-button-stop');
}
});
})
.fail(function() {
// error
});
});
})(jQuery, window, document);
答案 0 :(得分:1)
可能想要更改defaultFilter中的js:&#39; *&#39;到defaultFilter:&#34; .identity&#34;