Swiper轮播嵌套

最近在写项目遇到的一个问题垂直轮播嵌套水平轮播。

关于如何使用swiper插件,可以参考我之前写过的文章:

关于Swiper插件的使用_KMINLIKE的博客-CSDN博客

方法如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Swiper demo</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">

    <!-- Link Swiper's CSS -->
    <link rel="stylesheet" href="css/swiper.min.css">

    <!-- Demo styles -->
    <style>
        html,
        body {
            position: relative;
            height: 100%;
        }

        body {
            background: #eee;
            font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
            font-size: 14px;
            color: #000;
            margin: 0;
            padding: 0;
        }

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

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

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

        .swiper-container-v {
            background: #eee;
        }
    </style>
</head>

<body>
    <!-- Swiper -->
    <div class="swiper-container swiper-container-v">
        <div class="swiper-wrapper">
            <!-- 第一页 -->
            <!-- 嵌套水平轮播 -->
            <div class="swiper-slide">
                <div class="swiper-container swiper-container-h">
                    <div class="swiper-wrapper">
                        <div class="swiper-slide">Horizontal Slide 1</div>
                        <div class="swiper-slide">Horizontal Slide 2</div>
                        <div class="swiper-slide">Horizontal Slide 3</div>
                        <div class="swiper-slide">Horizontal Slide 4</div>
                    </div>
                    <div class="swiper-pagination swiper-pagination-h"></div>
                </div>
            </div>
            <div class="swiper-slide">Vertical Slide 2</div>
            <div class="swiper-slide">Vertical Slide 3</div>
            <div class="swiper-slide">Vertical Slide 4</div>
            <div class="swiper-slide">Vertical Slide 5</div>
            <div class="swiper-slide">Vertical Slide 6</div>
        </div>
        <!-- Add Pagination -->
        <div class="swiper-pagination swiper-pagination-v"></div>
    </div>


    <!-- bootstrap中的JS依赖于jQuery,因此jQuery要在bootstrap之前引用 -->
    <!-- 引入jquery文件-->
    <script src="js/jquery-3.5.1.min.js"></script>
    <!-- 引入bootstrap响应式文件 -->
    <script src="js/bootstrap.min.js"></script>
    <!-- Swiper JS -->
    <script src="js/swiper.min.js"></script>

    <!-- Initialize Swiper -->
    <script>
        var swiperH = new Swiper('.swiper-container-h', {
            pagination: '.swiper-pagination-h',
            paginationClickable: true,
            spaceBetween: 50
        });
        var swiperV = new Swiper('.swiper-container-v', {
            pagination: '.swiper-pagination-v',
            paginationClickable: true,
            direction: 'vertical',
            spaceBetween: 50
        });
    </script>
</body>

</html>

当然可以根据需要去更改想要的样式。

Swiper 是一款非常流行的 JavaScript 平台,用于创建响应式触摸滑动幻灯片和轮播组件。嵌套 Swiper 是指在一个 Swiper 实例中包含另一个 Swiper 实例的情况,通常是为了实现不同级别的导航或子级内容的切换。 然而,如果内部Swiper 没有正确配置或者没有触发它的滑动事件(例如 `.next()` 或者 `.slideTo()`),那么它可能不会自动轮播。这可能是由于以下几个原因: 1. **缺少初始化**:内部 Swiper 需要在外部 Swiper 初始化后被单独初始化,否则可能会忽略父 Swiper 对其控制的影响。 2. **禁止自动播放**:内部 Swiper 可能设置了 `autoplayDisableOnInteraction: true`,阻止了在用户交互时的自动播放功能。 3. **父 Swiper 控制**:如果没有正确设置,外部 Swiper 可能没有将内部 Swiper 包含在其滑动控制范围内。 4. **事件监听问题**:外部 Swiper 的事件(如 slideChange)可能没有绑定到内部 Swiper 上,导致内部滑动不生效。 解决方法包括检查并确保以下步骤: - **正确初始化**:为内部 Swiper 添加正确的初始化代码。 - **解除交互限制**:如果需要,修改内部 Swiper 的 autoplay 设置。 - **关联事件**:在外部 Swiper 上绑定事件,使其能够控制内部 Swiper。 - **查看文档**:确认嵌套 Swiper 的使用示例或查阅 Swiper 文档中的相关章节,确保正确配置。 如果你遇到具体的问题,提供更多的代码片段将有助于更准确地诊断问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值