希望扩展 Twitter Bootstrap 2 轮播 - 像 jcarousel 一样一次显示一组缩略图
我希望轮播循环播放,一旦结束就不要停止。开/关选项会很棒,因此它可以用作库存或循环活动。
不知道如何实现这一点,但是 jcarousel 的这个片段与 bootstarp carousel 挂钩,让我一个一个滚动项目。
谢谢。
$(function () {
var _next, _prev;
_next = $.fn.carousel.Constructor.prototype.next;
_prev = $.fn.carousel.Constructor.prototype.prev;
$.fn.carousel.Constructor.prototype.next = function() {
this.$element.trigger('pln.next');
return _next.call(this);
};
$.fn.carousel.Constructor.prototype.prev = function() {
this.$element.trigger('pln.prev');
return _prev.call(this);
};
$('div.carousel.jcarousel').each(function() {;
$(this).swiperight(function() {
$("#myCarousel").carousel('prev');
});
$(this).swipeleft(function() {
$("#myCarousel").carousel('next');
});
var item_width, stop_pos, total_items, total_width, visible_items, visible_width, _carousel, _slider;
_carousel = $(this);
total_items = _carousel.find('li').length;
item_width = _carousel.find('li:first').outerWidth(true);
total_width = item_width * total_items;
_carousel.find('.item:first').width(total_width); // lets shrink the actual container to it's real size
visible_items = Math.round(_carousel.find('.carousel-inner').width() / item_width);
visible_width = visible_items * item_width;
stop_pos = visible_width - total_width;
_slider = _carousel.find('.item:first');
_slider.data('to', 0);
_carousel.carousel('pause').on({
'pln.prev': function() {
if (_slider.position().left < 0 && _slider.position().left === _slider.data('to')) {
_slider.data('to', _slider.position().left + item_width);
_slider.animate({
left: "+=" + item_width + "px"
}, 'fast'); // lets move the slider
}
return false;
},
'pln.next': function() {
if (_slider.position().left > stop_pos && _slider.position().left === _slider.data('to')) {
_slider.data('to', _slider.position().left - item_width);
_slider.animate({
left: "-=" + item_width + "px"
}, 'fast');
}
return false;
}
});
});
});