javascript - 刷卡器 : second instance of swiper not initializing

标签 javascript html swiper.js

在我的网站上,我无法初始化第二个 swiper 实例。 第一个 Swiper 按其应有的方式工作。第二个仅显示第一张幻灯片。

我已经尝试像一些人建议的那样将第二个实例包装在超时中。我还尝试更改变量名称(如代码中所示)。

我做错了什么?感谢您的帮助!

代码如下所示:

<script>

    const swiper1 = new Swiper('.s1', {
      cssMode: true,
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
      pagination: {
        el: '.swiper-pagination'
      },
      mousewheel: true,
      keyboard: true,
    });

    const swiper2 = new Swiper('.s2', {
      cssMode: true,
      navigation: {
        nextEl: '.next-s2',
        prevEl: '.prev-s2',
      },
      pagination: {
        el: '.pagination-s2'
      },
      mousewheel: true,
      keyboard: true,
    });
  </script>
.swiperSection {
    width: 80%;
    text-align: center;
    margin: auto;
}

.swiper-container {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    width: 100%;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: block;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: justify;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding-bottom: 1em
}

.swiper-slide p {
    display: block;
}

.swiper-slide a {
    color: #df1e25;
    text-decoration: none;
    cursor: pointer;
}

.quotes {
    background-color: #000;
    color: #fff;
    text-align: center;
}

.quote-sign {
    font-size: 7em;
    font-family: serif;
    color: #df1e25;
    height: 110px;
    margin-top: 1em;
}

.swiper-slide-black {
    background-color: #000;
}

.quotes p {
    font-size: 1em;
    font-style: italic;
}

.quotes h6 {
    color: #df1e25
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://unpkg.com/swiper/css/swiper.min.css" rel="stylesheet"/>
<script src="https://unpkg.com/swiper/js/swiper.min.js"></script>


<div class="content">
        <h1>[...]</h1>
        <div class="swiperSection">
            <div class="swiper-container s1">
                <div class="swiper-wrapper" >
                    <div class="swiper-slide">
                        [...]
                    </div>
                    <div class="swiper-slide">
                        [...]
                    </div>
                    <div class="swiper-slide">
                        [...]
                    </div>
                    <div class="swiper-slide">
                        [...]
                    </div>
                </div>
                <!-- Add Arrows -->
                <div class="swiper-button-next swiper-button-black"></div>
                <div class="swiper-button-prev swiper-button-black"></div>
                <!-- Add Pagination -->
                <div class="swiper-pagination swiper-pagination-black"></div>
            </div>
        </div>
    </div>

    <div class="quotes">
        <div class="quote-sign">“</div>
        <div class="swiperSection">
            <div class="swiper-container s2">
                <div class="swiper-wrapper" >
                    <div class="swiper-slide swiper-slide-black">
                        [...]
                    </div>
                    <div class="swiper-slide swiper-slide-black">
                        [...]
                    </div>
                    <div class="swiper-slide swiper-slide-black">
                        [...]
                    </div>
                    <div class="swiper-slide swiper-slide-black">
                        [...]
                    </div>
                </div>
                <!-- Add Arrows -->
                <div class="swiper-button-next swiper-button-white nex1-s2"></div>
                <div class="swiper-button-prev swiper-button-white prev-s2"></div>
                <!-- Add Pagination -->
                <div class="swiper-pagination swiper-pagination-white pagination-s2"></div>
            </div>
        </div>
    </div>

最佳答案

我让它工作了(如下)。我认为答案是您的第二个“下一步”按钮的标记中有一个拼写错误。目前它是 nex1-s2,并且应该是 next-s2 以匹配您在 JavaScript 中设置第二张幻灯片的内容。很容易错过,我只是在弄乱代码一段时间后才发现它。

    const swiper1 = new Swiper('#s1', {
      cssMode: true,
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
      pagination: {
        el: '.swiper-pagination'
      },
      mousewheel: true,
      keyboard: true,
    });

    const swiper2 = new Swiper('#s2', {
      cssMode: true,
      navigation: {
        nextEl: '.next-s2',
        prevEl: '.prev-s2',
      },
      pagination: {
        el: '.pagination-s2'
      },
      mousewheel: true,
      keyboard: true,
    });
.swiperSection {
    width: 80%;
    text-align: center;
    margin: auto;
}

.swiper-container {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    width: 100%;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: block;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: justify;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding-bottom: 1em
}

.swiper-slide p {
    display: block;
}

.swiper-slide a {
    color: #df1e25;
    text-decoration: none;
    cursor: pointer;
}

.quotes {
    background-color: #000;
    color: #fff;
    text-align: center;
}

.quote-sign {
    font-size: 7em;
    font-family: serif;
    color: #df1e25;
    height: 110px;
    margin-top: 1em;
}

.swiper-slide-black {
    background-color: #000;
}

.quotes p {
    font-size: 1em;
    font-style: italic;
}

.quotes h6 {
    color: #df1e25
}
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://unpkg.com/swiper/css/swiper.min.css" rel="stylesheet"/>
<script src="https://unpkg.com/swiper/js/swiper.min.js"></script>

<body>
    <div class="content">
        <h1>[...]</h1>
        <div class="swiperSection">
            <div class="swiper-container" id="s1">
                <div class="swiper-wrapper" >
                    <div class="swiper-slide">
                        [aaa]
                    </div>
                    <div class="swiper-slide">
                        [bbb]
                    </div>
                    <div class="swiper-slide">
                        [ccc]
                    </div>
                    <div class="swiper-slide">
                        [ddd]
                    </div>
                </div>
                <!-- Add Arrows -->
                <div class="swiper-button-next swiper-button-black"></div>
                <div class="swiper-button-prev swiper-button-black"></div>
                <!-- Add Pagination -->
                <div class="swiper-pagination swiper-pagination-black"></div>
            </div>
        </div>
    </div>

    <div class="quotes">
        <div class="quote-sign">“</div>
        <div class="swiperSection">
            <div class="swiper-container" id="s2">
                <div class="swiper-wrapper">
                    <div class="swiper-slide swiper-slide-black">
                        [eee]
                    </div>
                    <div class="swiper-slide swiper-slide-black">
                        [fff]
                    </div>
                    <div class="swiper-slide swiper-slide-black">
                        [ggg]
                    </div>
                    <div class="swiper-slide swiper-slide-black">
                        [hhh]
                    </div>
                </div>
                <!-- Add Arrows -->
                <div class="swiper-button-next swiper-button-white next-s2"></div>
                <div class="swiper-button-prev swiper-button-white prev-s2"></div>
                <!-- Add Pagination -->
                <div class="swiper-pagination swiper-pagination-white pagination-s2"></div>
            </div>
        </div>
    </div>
</body>
</html>

关于javascript - 刷卡器 : second instance of swiper not initializing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60031316/

相关文章:

html - CSS Flip Card 动画仅在 Firefox 中无法正常工作

html - IE 文本换行问题

javascript - 当幻灯片可见时触发一个函数,然后在它完成后销毁它,然后重复

javascript - Swiper - OpenCart - 背景全尺寸图像不起作用

javascript - Swiper slider 报错 startAutoplay is not a function

javascript - 密码强度验证器未提交表单

javascript - 关于如何使就地编辑可降解的任何想法?

javascript - Typescript React 泛型函数类型

JavaScript Swiper native 导航功能不起作用

javascript - 期望 JSON 输出不会在 node.js 输出中返回