У меня есть адаптивная jcarousel, работающая на основе примера здесь.
Вот мой код:
$(function() {
var jcarousel = $('.jcarousel');
//var navpanenext = '+=1';
//var navpaneprev = '-=1';
jcarousel
.on('jcarousel:reload jcarousel:create', function () {
var carousel = $(this),
width = carousel.innerWidth();
if (width >= 600) {
width = width / 3;
//navpanenext = '+=3';
//navpaneprev = '-=3';
} else if (width >= 350) {
width = width / 2;
//navpanenext = '+=2';
//navpaneprev = '-=2';
}
carousel.jcarousel('items').css('width', Math.ceil(width) + 'px');
})
.jcarousel({
wrap: 'circular'
});
$('.jcarousel-control-prev')
.jcarouselControl({
target: '-=3'
//target: navpaneprev
});
$('.jcarousel-control-next')
.jcarouselControl({
target: '+=3'
//target: navpanenext
});
});
В версии с полной шириной (ширина > 600) он отображает 3 элемента одновременно, и если размер окна изменяется, область просмотра настраивается, чтобы отображать меньше элементов.
Мои элементы управления (jacrousel-control-prev, jcarousel-control-next) прокручивают + или - 3 элемента за раз, независимо от размера области просмотра. Есть ли способ настроить «целевое» значение при настройке ширины области просмотра? Первоначальные попытки определить переменную в функции перезагрузки не работают (показаны в виде комментариев в качестве примера).
Спасибо за любые мысли.