javascript - 如何在 Owl Carousel 中只显示单个项目?

标签 javascript html angular owl-carousel

所以我在我的项目中使用 ngx-owl-carousel 来显示幻灯片,这些幻灯片将显示来自 REST API 的动态数据。当数据量很大时,轮播可以正常工作。但是如果只有一个数据旋转木马根据屏幕宽度显示重复的幻灯片,而不仅仅是一张。 如何修复 这是我设置的轮播属性:

carouselOptions = {

autoplay:false,
autoplayTimeout:3000,
autoplayHoverPause:false,
autoWidth:false,
items:1,
singleItem: true,
loop:true,
nav: true,
navText: ["<i aria-hidden='true' class='fa fa-caret-left prev' id='prev'></i>","<i aria-hidden='true' class='fa fa-caret-right next'></i>"],
navClass: ['owl-prev', 'owl-next'],
responsiveClass: true,
responsive: {
  0:{
    items:1, 
    nav:true,
    dots:false
  },
  576: {
    items: 1,
    nav: true,
    dots:false
  },
  768: {
    items: 2,
    nav: true
  },
  1050: {
    items: 3,
    nav: true

  },
  1400: {
    items: 4,
    nav: true  
  }
}

这是我的 html:

<owl-carousel [options]="carouselOptions" [items]="userData"
      [carouselClasses]="['owl-theme', 'row', 'sliding']">
      <div class="item mt-4" id="item" *ngFor="let data of userData;let i = index">           
              <div class="card-body">
                <div class="card-title mb-0 random" >
                  <div class="title">
                    <div class="user-info">
                      <div>{{data.name}}</div>&nbsp;&nbsp;|&nbsp;&nbsp;
                      <p>{{data.contact}}</p>
                    </div>
                    <div class="setting-icon">
                      <i class="fa fa-cog"></i>
                    </div>
                  </div>
                </div>
                <div class="after-title pt-3">
                  <div class="p-2">
                    <h6 class="card-subtitle text-muted">
                      <div class="subtitle"> <i class="fa fa-edit"></i><i class="fa fa-expand"></i></div>
                    </h6>
                    <p class="card-text main-card-text" id="notes">{{ data.message }}</p>
                  </div>
                  <div class="footer">
                    <i class="fa fa-paperclip pt-1 pl-2"></i> &nbsp; &nbsp;
                    <i class="fa fa-lock pt-1"></i>&nbsp; &nbsp;
                    <i class="fa fa-hand-rock-o pt-1"></i>&nbsp; &nbsp;
                    <i class="fa fa-save pt-1"></i>
                  </div>
                </div>
              </div>
      </div>
    </owl-carousel>

这是我得到的输出:正如您所看到的,当 userData 数组中只有一个项目时,幻灯片会重复播放。 enter image description here

最佳答案

你可以使用 loop:false 这样它就不会产生重复的项目。

希望对你有帮助

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

$('.without-loop').owlCarousel({
    loop:false,
    margin:10,
    nav:true,
    responsive:{
        0:{
            items:3
        },
        600:{
            items:3
        },
        1000:{
            items:5
        }
    }
})
.with-loop {
margin-bottom: 30px;
}
.item {
height: 30px;
width: 40px;
background: red;
color: #fff;
text-align: center
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/owl.carousel.js"></script>
<link rel="stylesheet" href="https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/assets/owl.carousel.min.css" />
<link rel="stylesheet" href="https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/assets/owl.theme.default.min.css" />
<div class="owl-carousel owl-theme with-loop">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
</div>


<div class="owl-carousel owl-theme without-loop">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
</div>

关于javascript - 如何在 Owl Carousel 中只显示单个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59155012/

相关文章:

javascript - 支持两种浏览器(Chrome 和 Firefox)的 javascript 本地存储

javascript - 对嵌套对象文字属性感到困惑

javascript - JavaScript 中对象定义末尾的这个方括号后缀是什么意思?

html - 在我的网站上显示电子邮件地址而不被垃圾邮件发送者攻击的最佳方式是什么?

css - Angular-6-datatables 响应式样式

javascript - 使用 Angular 服务后 undefined object

html - 我在哪里可以找到所有可用的十六进制图标的列表?

javascript - 数组元素不会显示在 JavaScript 的选择框中

Angular 4 - 如何让我的复选框更改变量的值?

javascript - Angular 5/Typescript - 如何将复杂的 json 对象转换为类