猫头鹰Carousal2与项目1和循环true

时间:2015-05-26 04:25:40

标签: javascript jquery owl-carousel-2



$(document).ready(function(){
  $('.owl-carousel').owlCarousel({
    loop:true,
    margin:10,
    nav:true,
    items: 1
  })
});

<div class="owl-carousel">
    <div class="item"><h4>1</h4></div>
</div>
<link href="http://www.owlcarousel.owlgraphic.com/assets/owlcarousel/assets/owl.carousel.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://www.owlcarousel.owlgraphic.com/assets/owlcarousel/owl.carousel.js"></script>
&#13;
&#13;
&#13;

控制台错误:TypeError:items [clones [(clones.length - 1)]]未定义。 由于只有一个项div和属性循环true和第1项导致此错误。 所以。这种情况下的任何解决方案我知道这种情况不会发生,但如果有任何解决方案请告诉我非常感谢。

7 个答案:

答案 0 :(得分:14)

添加onInitialize并检查轮播包含的项目数。如果轮播有1个或更少的项目,请将循环设置为false。

$(document).ready(function(){
  $('.owl-carousel').owlCarousel({
    loop:true,
    margin:10,
    nav:true,
    items: 1,
    onInitialize: function (event) {
        if ($('.owl-carousel .item').length <= 1) {
           this.settings.loop = false;
        }
    }
  })
});

答案 1 :(得分:9)

试试这个:

$('.owl-carousel').owlCarousel({
    loop: $('.owl-carousel .item').size() > 1 ? true:false,
    items: 1,
    margin:10,
    nav:true
})

答案 2 :(得分:2)

我做了一个非常基本的修复(在owl.carousel.js文件中)。在这里查看我的评论 https://github.com/OwlCarousel2/OwlCarousel2/issues/1200#issuecomment-215254526

这是一个非常快速的&amp;脏修复。我会尽快加强。

答案 3 :(得分:1)

var a = $(".owl-parent");
loop: owl.children().length > 1

根据需要更改选择器。

这也可以。

答案 4 :(得分:0)

owl.carousel.min.css文件下方添加jquery.min.js文件,并在页面底部包含这些文件。

答案 5 :(得分:0)

检查此demo

这是你要找的那个吗?

$('.owl-carousel').owlCarousel({
    loop:true,
    margin:10,
    nav:true,
    responsive:{
        0:{
            items:1
        },
        600:{
            items:3
        },
        1000:{
            items:5
        }
    }
})

答案 6 :(得分:0)

   if($(".owl-carousel").length > 0){
        $(".owl-carousel").owlCarousel({
            items: 1,       
            nav: $(".owl-carousel > .item").length <= 1 ? false : true,
            dots: false,
            loop:$(".owl-carousel > .item").length <= 1 ? false : true,
            autoplay:true,
            navText: "",         
        });
    }