owl carousel 2 not work with loop and 1 items (Bug Fixed Now)
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;
}
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
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,
}
}
})