Проблема в том, что плагин делает DIV абсолютно позиционированным и не обновляет позиции при изменении размера автоматически.
Быстрое решение (хотя и не очень хорошее) - снова запустить плагин при изменении размера окна:
$(window).resize(function() {
$('#ca-container').contentcarousel({
scroll : 2
});
});
Лучшим решением было бы связать событие resize в методе init самого плагина - возможно, добавив опцию для его управления - чтобы заново выполнить вычисления и переместить элементы при изменении размера окна.
В зависимости от браузера событие изменения размера срабатывает несколько раз или только после изменения размера, поэтому я использую тайм-аут в 150 мс, который будет пересчитан, когда мышь предположительно перестала двигаться ...
Вот код, который нужно добавить в метод init (правильное место см. В скрипте).
var resizeTimer;
// bind the resize event of the window
$(window).resize(function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
// re-select the items in the order they are now
var $elements = $wrapper.children('.ca-item');
// re-calc the width
cache.itemW = $elements.width();
// change position accordingly
$elements.each(function(i) {
$(this).css({
left: i * cache.itemW + 'px'
});
});
}, 150);
});
DEMO