Swiper Slider 将所有幻灯片放在一张幻灯片中

Posted

技术标签:

【中文标题】Swiper Slider 将所有幻灯片放在一张幻灯片中【英文标题】:Swiper Slider puts all slides in one slide 【发布时间】:2020-03-18 17:31:38 【问题描述】:

我根据文档设置了 Swiper Slider,每张幻灯片都像一张幻灯片一样滑动。

<div class="swiper-container">
    <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>
</div> 


var mySwiper = new Swiper('.swiper-container', 
    direction: 'horizontal',
    slidesPerView: 1,
);

我还在 CodePen 上对其进行了测试,结果相同,所以我知道这不是我的项目中的东西:https://codepen.io/DasRollo/pen/YzzMrgP

谁能复制这个?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。就我而言,我补充说:

import '../../../node_modules/swiper/css/swiper.min.css';

它正在工作。

【讨论】:

【参考方案2】:

在我的情况下,问题是我没有为每个滑块项目添加 swiper-slide 类,所以 solutiom 只是添加 swiper-slide

<div class="swiper-container">
    <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div> // add "swiper-slide" class!
        <div class="swiper-slide">Slide 2</div> // add "swiper-slide" class!
        <div class="swiper-slide">Slide 3</div> // add "swiper-slide" class!
    </div>
</div>

npm install swiper 之后我的 swiper 设置

import Swiper, Navigation from 'swiper';
import 'swiper/swiper-bundle.css';
    
Swiper.use([Navigation]);

const swiper = new Swiper('.swiper-container', 
    breakpoints: 
        768: 
            slidesPerView: 2,
        ,
        1440: 
            slidesPerView: 3
        ,
    ,
    navigation: 
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
    ,
    slidesPerView: 1,
);

如果你使用 webpack 检查 css 加载器


     test: /\.css$/,
     use: ['style-loader', 'css-loader'],
,

【讨论】:

【参考方案3】:

在您的代码笔中,您忘记包含插件也需要正常运行的 css。不完全确定这是否是您的意思,但如果是,请尝试下面的代码。

var mySwiper = new Swiper('.swiper-container', 
  direction: 'horizontal',
  slidesPerView: 1,
);
.swiper-slide 
  padding: 2em;
  border: 1px solid #ccc;
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/js/swiper.min.js"></script>
<link href="https://unpkg.com/swiper/css/swiper.min.css" rel="stylesheet"/>
<div class="swiper-container">
  <!-- Additional required wrapper -->
  <div class="swiper-wrapper">
      <!-- Slides -->
      <div class="swiper-slide">Slide 1</div>
      <div class="swiper-slide">Slide 2</div>
      <div class="swiper-slide">Slide 3</div>

  </div>
  <!-- If we need pagination -->
  <div class="swiper-pagination"></div>

  <!-- If we need navigation buttons -->
  <div class="swiper-button-prev"></div>
  <div class="swiper-button-next"></div>

  <!-- If we need scrollbar -->
  <div class="swiper-scrollbar"></div>
</div> 

【讨论】:

当然!在我的项目中,我已经通过 npm 导入了包,只是发现 css 会包含它自己。星期五的大脑!谢谢【参考方案4】:

⚠️⚠️⚠️ 如果您更改幻灯片的宽度,幻灯片可能会出现异常行为,从而导致第 1 面出现蜂鸣。 在我的示例中,我将宽度设置为 150 像素。所有载玻片都在第 1 面。还有 9x 额外的空白面。我检查了幻灯片,发现它们的自动设置宽度被越过了。解开它解决了这个问题。 也许您还为它们设置了宽度。 也许你在 div 元素上设置了一个附加类,它设置了宽度:

【讨论】:

【参考方案5】:

尽管我不需要它,但我不得不设置导航:

navigation: 
  prevEl: null,
  nextEl: null,
,

【讨论】:

以上是关于Swiper Slider 将所有幻灯片放在一张幻灯片中的主要内容,如果未能解决你的问题,请参考以下文章

将登录屏幕放在其中一张介绍幻灯片中以进行颤动

Swiper.js 活动幻灯片到达数据属性

Bootstrap v4:轮播在第一张幻灯片后消失:(

Slick Carousel - 设置第一张幻灯片

Slick Slider - 在多个滑块上显示计数器

在反应原生 Swiper 中动态呈现内容