Owl Carousel 2 Not Work With Loop And 1 Items (bug Fixed Now)
I work with owl carousel 2 for carousel content. JS: $('#owl-demo').owlCarousel({ loop: true, margin: 10, nav: true, items: 1, }); HTML:
Solution 1:
I report this bug to Owl developer group and fix this problem here.
Change this line in Commit
view = Math.max(settings.items * 2, 2),
Now this worked in demo
Solution 2:
I hope the below method will solve your problem. You dont need to edit the owl carousel js. The same method can be applied to Bx Slider also.
$('.owl-demo').owlCarousel({margin:0,responsiveClass:true,smartSpeed:500,dots:($(".owl-carousel.item").length>1)?true:false,loop:($(".owl-carousel.item").length>1)?true:false,responsive: {
0: {
items:1,
},
500: {
items:1,
},
768: {
items:1,
}
}
})
Solution 3:
You could check the number of .item elements before you call your plugin like so:
// Be more specific with your selector if .items is used elsewhere on the page. var items = $('.items');
if(items.length > 1) {
$('#owl-demo').owlCarousel({
loop: true,
...
});
} else {
// same as above but with loop: false;
}
Solution 4:
I used this method to solve the problem and I think it's pretty easy.
var options={
margin: 10,
nav: true,
items: 1
};
if($('#owl-demo .owl-item').length>1){
options.loop=true;
}
$('#owl-demo').owlCarousel(options);
Solution 5:
If you want to put only single image in owlCarousel as a banner image then you can add one argument in owl carousel js.
singleItem:true
like this:
<scripttype="text/javascript">
$(document).ready(function() {
$('#main_banner').owlCarousel({
margin: 0,
loop: true,
navText: [ "<img src='images/leftArrow.png'>", "<img src='images/rightArrow.png'>" ],
dots: false,
items :1,
autoplay: true,
singleItem: true
});
});
</script>
Post a Comment for "Owl Carousel 2 Not Work With Loop And 1 Items (bug Fixed Now)"