我有以下情况,希望对你有所帮助。以下是完整示例的链接:https://jsfiddle.net/7kpfqLr6/25/
让我解释一下。我想在加载更多按钮之前设置图像的数量。问题是,正如您所看到的,第一个同位素项目是文本项。所有其他项目都是图像。现在,当我将图像数量设置为6时,它会显示6个同位素项目(第一个文本项目+5个图像)。是的,这是合乎逻辑的,我明白这一点。但是我想让它在第一个项目后显示6个图像。怎么做?我可以指望你的帮助吗?
谢谢。
$(document).ready(function() {
// init Isotope
var $container = $('.isotope-items-wrap').isotope({
itemSelector: '.isotope-item',
transitionDuration: '0.5s',
masonry: {
columnWidth: '.grid-sizer'
}
});
//****************************
// Isotope Load more button
//****************************
var initShow = 6; //number of images loaded on init & onclick load more button
var counter = initShow; //counter for load more button
var iso = $container.data('isotope'); // get Isotope instance
loadMore(initShow); //execute function onload
function loadMore(toShow) {
$container.find(".hidden").removeClass("hidden");
var hiddenElems = iso.filteredItems.slice(toShow, iso.filteredItems.length).map(function(item) {
return item.element;
});
$(hiddenElems).addClass('hidden');
$container.isotope('layout');
//when no more to load, hide show more button
if (hiddenElems.length == 0) {
$("#load-more").hide();
}
else {
$("#load-more").show();
};
}
//append load more button
$container.after('<div class="margin-top-30 text-center"><button id="load-more" class="btn btn-primary margin-top-5"> Load More</button></div>');
//when load more button clicked
$("#load-more").click(function() {
if ($('#filters').data('clicked')) {
//when filter button clicked, set initial value for counter
counter = initShow;
j$('#filters').data('clicked', false);
} else {
counter = counter;
};
counter = counter + initShow;
loadMore(counter);
});
});
答案 0 :(得分:1)
您可以声明以下值:
var initShow = 7;
然后在初始加载后将其更改为6.
$("#load-more").click(function() {
if ($('#filters').data('clicked')) {
//when filter button clicked, set initial value for counter
counter = initShow;
j$('#filters').data('clicked', false);
} else {
counter = counter;
};
initShow = 6;
counter = counter + initShow;
loadMore(counter);
});
如果6 images
加载6 images
click
,则初始加载会显示button
和其他if (step < 1) {
accSteps.push(parseInt(step));
}
for (i = 0; i < accSteps.length && step < 1; i++) {
zOutput++;
document.getElementById("zVal").innerHTML = zOutput;
}
。
我希望有所帮助。