Я использую подключаемый модуль jcarousel, и у меня возникла проблема. Все работает нормально, отзывчиво и приятно, когда я загружаю Интернет, но если я изменяю размер окна браузера, карусель портится.
Я понял, что должен запустить jcarousel reload method
, чтобы он пересчитал количество слайдов и их размеры. Проблема в том, что я не могу перезагрузить карусель. Пожалуйста, смотрите код ниже:
Это то, что делает мою jcarousel отзывчивой (это работает нормально):
var jcarousel = $('.jcarousel');
jcarousel.on('jcarousel:reload, jcarousel:create', function () {
console.log('reloading carousel');
var carousel = $(this),
width = carousel.innerWidth();
cantSlides = 1;
if (width >= 1600){
width = width / 4;
cantSlides = 4;
}else if (width >= 1200) {
width = width / 3;
cantSlides = 3;
}else if (width >= 800) {
width = width / 2;
cantSlides = 2;
}
carousel.jcarousel('items').css('width', Math.ceil(width) + 'px');
$('.jcarousel-control-prev')
.jcarouselControl({
target: '-='+cantSlides
});
$('.jcarousel-control-next')
.jcarouselControl({
target: '+='+cantSlides
});
})
И вот что не работает:
$(window).resize(function(){
$('.jcarousel').jcarousel('reload', {});
});
Я поместил console.log
внутри функции перезагрузки карусели, создания. Он регистрируется, когда я нажимаю F5, но не при изменении размера окна браузера. Почему мое событие перезагрузки не срабатывает?
Спасибо!
animation:slow
для перезагрузки - person dreamweiver   schedule 14.10.2015