【问题标题】:How to change swiper slide carousel in swiper.js?如何在 swiper.js 中更改 swiper 幻灯片轮播?
【发布时间】:2019-09-08 17:00:21
【问题描述】:

我正在努力改变封面流中的滑动滑动轮播。

这是我现在得到的。

var mySwiper = new Swiper('.swiper-container-aboutus', {
  // Optional parameters
  effect: 'coverflow',
  loop: true,
  centeredSlides: true,
  slidesPerView: 3,
  initialSlide: 0,
  keyboardControl: true,
  mousewheelControl: true,
  lazyLoading: true,
  preventClicks: false,
  preventClicksPropagation: false,
  lazyLoadingInPrevNext: true,
  nextButton: '.swiper-button-next',
  prevButton: '.swiper-button-prev',
  coverflow: {
    rotate: 0,
    stretch: 0,
    depth: 250,
    modifier: 1,
    slideShadows: false,
  }
})
.swiper-container-aboutus {
  height: 500px;
}

.swiper-slide{
  background-color: rgb(255, 0, 0);
    width: 490px;
    z-index: 1;
    transition-duration: 0ms;
    display: inline-block;
    overflow: hidden;
    height: 490px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.3.1/js/swiper.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.3.1/css/swiper.min.css" rel="stylesheet" />
<div class="row swiper-container-aboutus">
  <div class="swiper-wrapper">
    <div class="swiper-slide">Slide 1</div>
    <div class="swiper-slide">Slide 2</div>
    <div class="swiper-slide">Slide 3</div>
    <div class="swiper-slide">Slide 4</div>
  </div>
  <div class="swiper-pagination"></div>
  <div class="swiper-button-prev"></div>
  <div class="swiper-button-next"></div>

  <div class="swiper-scrollbar"></div>
</div>

它可以运行,但我想将轮播更改为如下所示:

我尝试过添加这段代码:

.swiper-slide{
    background-color: rgb(255, 0, 0);
    width: 490px;
    z-index: 1;
    transition-duration: 0ms;
    display: inline-block;
    overflow: hidden;
    height: 490px;
    transform: rotate(45deg) !important;
}

我添加了transform: rotate(45deg) !important; 以将幻灯片转换为菱形,它们被转换了,但是我失去了内置的 swiper.js translate3d() 功能。

是否可以使用 Swiper.js 以这种方式编辑幻灯片并且仍然让封面流正常工作?

非常欢迎任何其他提示。

编辑

当我放

loop:true;
centeredSlides: true,
slidesPerView: 3,
initialSlide: 2,

我的封面流程从左侧开始,而不是像我想要的那样从中间开始。 这是为什么?在照片上你可以看到它,当我点击下一张时,它会移到右侧。

是否可以开始居中?我虽然这个centeredSlides: true 会做到这一点。

【问题讨论】:

    标签: javascript jquery html css swiper


    【解决方案1】:

    var mySwiper = new Swiper('.swiper-container-aboutus', {
      // Optional parameters
      effect: 'coverflow',
      loop: true,
      centeredSlides: true,
      slidesPerView: 3,
      initialSlide: 0,
      keyboardControl: true,
      mousewheelControl: true,
      lazyLoading: true,
      preventClicks: false,
      preventClicksPropagation: false,
      lazyLoadingInPrevNext: true,
      nextButton: '.swiper-button-next',
      prevButton: '.swiper-button-prev',
      coverflow: {
        rotate: 0,
        stretch: 0,
        depth: 250,
        modifier: 1,
        slideShadows: false,
      }
    })
    .swiper-container-aboutus {
      height: 200px;
    }
    
    .swiper-slide {
      width: 60px;
      z-index: 1;
      transition-duration: 0ms;
      display: inline-block;
      height: 60px;
    }
    
    .slide-content {
      background-color: rgb(255, 0, 0);
      height: 100%;
      border: 1px solid;
      transform: rotate(45deg);
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.3.1/js/swiper.min.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.3.1/css/swiper.min.css" rel="stylesheet" />
    <div class="row swiper-container-aboutus">
      <div class="swiper-wrapper">
        <div class="swiper-slide">
          <div class="slide-content">
            Slide 1
          </div>
        </div>
        <div class="swiper-slide">
          <div class="slide-content">
            Slide 2
          </div>
        </div>
        <div class="swiper-slide">
          <div class="slide-content">
            Slide 3
          </div>
        </div>
        <div class="swiper-slide">
          <div class="slide-content">
            Slide 4
          </div>
        </div>
      </div>
      <div class="swiper-pagination"></div>
      <div class="swiper-button-prev"></div>
      <div class="swiper-button-next"></div>
    
      <div class="swiper-scrollbar"></div>
    </div>

    【讨论】:

    • 感谢您的回答。当我运行代码 sn-p 时它看起来很棒,这正是我想要的。但是当您运行代码 sn-p 并将其全屏显示时,它看起来会有所不同。这就是我复制代码并将其传递到我的项目时的样子。你知道为什么吗?
    • 在这个 sn-p 中我没有考虑尺寸,我认为这就是问题所在。调整宽度/高度
    • 是的,这是我尝试过的第一个,但一切都阻碍了我。我认为宽度很麻烦,因为它被 swiper.js 宽度覆盖。
    • 肯定会被覆盖,Swiper 没有其他方法可以根据 slidesPerView 的值调整项目。阅读有关配置 Swiper 的信息,我认为它会对您有所帮助
    • 我查看了文档idangero.us/swiper/api/#parameters,但无法修复它。如果您可以看一下,我还更新了我的问题。有什么建议,不胜感激!谢谢!
    猜你喜欢
    • 2019-09-27
    • 2020-11-19
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 2018-01-24
    • 2019-07-16
    相关资源
    最近更新 更多