Я создал 4 слайдера. Первоначально все 4 скрыты (display: none), поэтому я использовал этот код для отображения соответствующего слайдера при щелчке соответствующей категории.
Конфигурация слайдера.
touchEnabled: true,
hideControlOnEnd: true,
preloadImages: 'all',
infiniteLoop: false,
mode: 'horizontal',
startSlide: 0,
slideWidth: 300,
minSlides: 2,
maxSlides: 3,
slideMargin: 10,
pager: false,
slideSelector: ".isotope-item",
nextSelector: "#forefoo2_next",
prevSelector: "#forefoo2_prev",
nextText: '',
prevText: '',
onSliderLoad: function(){
jQuery(".sliloading").hide();
},
jQuery(window).ready(function(){
var slider4 = jQuery('.cat_fore').bxSlider();
var slider2 = jQuery('#cat_two').bxSlider();
var slider3 = jQuery('.cat_three').bxSlider();
var slider1 = jQuery('.cat_one').bxSlider();
jQuery("#sel_cat a" ).on("click", function(){
var current = jQuery(this).attr("slider");
jQuery(".sliloading").show();
jQuery(".slider").hide();
if( current == "cat_one"){
slider1.reloadSlider(s1config);
}else if(current == "cat_two"){
slider2.reloadSlider(s2config);
}else if(current == "cat_three"){
slider3.reloadSlider(s3config);
}else if(current == "cat_fore"){
slider4.reloadSlider(s4config);
}
}
});
Проблема заключается в том, что слайдер имеет менее 20 слайдов, он меняет количество слайдов, которое отображает последний слайд в качестве первого слайда.
Для слайдов 20 или более 20 он отлично работает.
Я также пробовал различные решения, перечисленные на этой ссылке, но ничего не работало для меня.
Я попытался воспроизвести тот же пример на fiddle, который работает нормально, но на в прямом эфире он все еще дает та же проблема
Я думаю, что проблема находится на высоте или какой-то другой элемент css, который заставляет его начинать с последнего слайда, потому что в скрипте порт представления мал, поэтому он отображает слайдер с первым слайдом, а также когда мы пытаемся уменьшить размер представления порт браузера он также отобразил слайдер в правильном направлении.