【问题标题】:Owl Carousal2 with items 1 and loop true猫头鹰 Carousal2 与项目 1 和循环真
【发布时间】:2015-05-26 04:25:39
【问题描述】:

$(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>

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

【问题讨论】:

    标签: javascript jquery owl-carousel-2


    【解决方案1】:

    添加 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;
            }
        }
      })
    });
    

    【讨论】:

    • 如果item为1而不是loop false,你是对的,但是场景是item 1并且loop true是可能的?
    • 应该是可以的,不过是猫头鹰轮播的bug。
    【解决方案2】:

    试试这个:

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

    【讨论】:

      【解决方案3】:

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

      这是一个非常快速和肮脏的修复。我会尽快加强。

      【讨论】:

        【解决方案4】:
        var a = $(".owl-parent");
        loop: owl.children().length > 1
        

        根据需要更改选择器。

        这也有效。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • 这不是问题。
          【解决方案6】:

          检查这个demo

          这是您要找的吗?

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

          【讨论】:

          • 你好@Ashley你是对的,但反应灵敏,但我只想要items:1,而且

            1

            只有一个。并且循环属性为真。我知道这种情况不会发生,但以防万一。
          【解决方案7】:
             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: "",         
                  });
              }
          

          【讨论】:

            猜你喜欢
            • 2016-09-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多