На разных экранах проверяем количество слайдов.
Если слайдов меньше чем задано, то делаем дестрой слайдера, скрываем стрелки и точки.
var block = $('SELECTOR-BLOCK'),
blockContent = block.find('SELECTOR-CONTENT'),
blockList = block.find('SELECTOR-LIST'),
blockItem = block.find('SELECTOR-SLIDE-ITEM'),
blockArrows = block.find('.arrows'),
blockFooter = block.find('SELECTOR_FOOTER');
function paramsSlider(slidesPerView, slidesPerGroup, loop, loopFillGroupWithBlank, dynamicBullets, freeMode, freeModeMomentum) {
var options = {
init: false,
wrapperClass: 'SELECTOR-WRAPPER-INNER',
slideClass: 'SELECTOR-SLIDE-ITEM',
slidesPerView: slidesPerView,
slidesPerGroup: slidesPerGroup,
setWrapperSize: true,
grabCursor: true,
spaceBetween: 0,
watchOverflow: true,
updateOnWindowResize: true,
observer: true,
observeParents: true,
observeSlideChildren: true,
loop: loop,
loopFillGroupWithBlank: loopFillGroupWithBlank,
freeMode: freeMode,
freeModeMomentum: freeModeMomentum,
navigation: {
nextEl: 'SELECTOR-BLOCK .arrows__next',
prevEl: 'SELECTOR-BLOCK .arrows__prev',
disabledClass: 'arrows__arrow_disabled',
},
pagination: {
el: 'SELECTOR-BLOCK SELECTOR-DOTS',
clickable: true,
dynamicBullets: dynamicBullets,
dynamicMainBullets: 1,
bulletClass: 'dots__dot',
bulletActiveClass: 'active',
}
}
var swiper_instock = new Swiper('SELECTOR-BLOCK SELECTOR-LIST', options);
swiper_instock.init();
}
// 1200 - ...
if ($('body').width() >= 1200) {
if (blockItem.not('.swiper-slide-duplicate').length > 4) {
if (blockList.hasClass('.swiper-container-initialized')) {
swiper_instock.destroy(true, true);
}
paramsSlider(
slidesPerView = 4,
slidesPerGroup = 4,
loop = true,
loopFillGroupWithBlank = false,
dynamicBullets = false
);
blockArrows.show();
} else {
blockArrows.hide();
blockFooter.hide();
}
}
// 992 - 1199
if ( $('body').width() >= 992 && $('body').width() <= 1199 ) {
if ( blockItem.not('.swiper-slide-duplicate').length > 3 ) {
if ( blockList.hasClass('.swiper-container-initialized') ) {
swiper_instock.destroy(true, true);
}
paramsSlider(
slidesPerView = 3,
slidesPerGroup = 3,
loop = true,
loopFillGroupWithBlank = false,
dynamicBullets = true
);
blockArrows.show();
} else {
blockArrows.hide();
blockFooter.hide();
}
}
// 768 - 991
if ( $('body').width() >= 768 && $('body').width() <= 991 ) {
if ( blockItem.not('.swiper-slide-duplicate').length > 2 ) {
if ( blockList.hasClass('.swiper-container-initialized') ) {
swiper_instock.destroy(true, true);
}
paramsSlider(
slidesPerView = 2,
slidesPerGroup = 1,
loop = true,
loopFillGroupWithBlank = false,
dynamicBullets = true,
freeMode = true,
freeModeMomentum = true
);
blockArrows.hide();
} else {
blockFooter.hide();
}
}
// 640 - 767
if ( $('body').width() >= 640 && $('body').width() <= 767 ) {
if ( blockItem.not('.swiper-slide-duplicate').length > 2 ) {
if ( blockList.hasClass('.swiper-container-initialized') ) {
swiper_instock.destroy(true, true);
}
paramsSlider(
slidesPerView = 2,
slidesPerGroup = 1,
loop = true,
loopFillGroupWithBlank = true,
dynamicBullets = true,
freeMode = true,
freeModeMomentum = true
);
blockArrows.hide();
} else {
blockFooter.hide();
}
}
// ... - 639
if ( $('body').width() <= 639 ) {
if ( blockItem.not('.swiper-slide-duplicate').length > 1 ) {
if ( blockList.hasClass('.swiper-container-initialized') ) {
swiper_instock.destroy(true, true);
}
paramsSlider(
slide = 1,
slideGroup = 1,
loop = true,
fill = true,
dynamicBullets = true,
freeMode = true,
freeModeMomentum = true
);
blockArrows.hide();
} else {
blockFooter.hide();
}
}