swiper 嵌套

有3d样式父swiper 嵌套子swiper ,做法如下:

  <!-- 定义父swiper -->
    <div class="swiper-container first-one">
        <div class="swiper-wrapper">
            <div class="swiper-slide"><p>我是父亲swiper的第一个slide</p></div>
            <div class="swiper-slide"><p>我是父亲swiper的第二个slide</p></div>
            <div class="swiper-slide"><p>我是父亲swiper的第三个slide</p></div>
            <div class="swiper-slide">
                <p>我是父亲swiper的第四个slide</p>
                <!-- 定义嵌套的子swipe -->
                <div class="swiper-container second-one">
                    <div class="swiper-wrapper">
                        <div class="swiper-slide"><p>我是儿子swiper的第一个slide</p></div>
                        <div class="swiper-slide"><p>我是儿子swiper的第二个slide</p></div>
                        <div class="swiper-slide"><p>我是儿子swiper的第三个slide</p></div>
                        <div class="swiper-slide"><p>我是儿子swiper的第四个slide</p></div>
                    </div>
                </div>
            </div>
        </div>
    </div>

js:

 var first_swiper = new Swiper('.first-one', {
        loop:true,
        effect: 'coverflow', 
        grabCursor: true,
        centeredSlides: true,
        centeredSlidesBounds: true,
        observer:true,
        slidesPerView: 2.7,
        spaceBetween : 80,
        coverflowEffect: {
            rotate: 20,
            stretch: 3,
            depth: 200,
            modifier: 1,
            slideShadows : true,
        },
    });
    var second_swiper=new Swiper('.second-one',{    
        grabCursor: true,
        loop:true,
        observer:true,
        spaceBetween : 10,
        nested:true, //用于嵌套相同方向的swiper时,当切换到子swiper时停止父swiper的切换。
        
    });

效果如图:

var first_swiper = new Swiper('.first-one', {
            loop:true,
            effect: 'coverflow',//设置Slide的切换效果 3d
            grabCursor: true, //鼠标移入为抓手状态
            centeredSlides: true, //居中幻灯片
            observer:true,//开启动态检查器,监测swiper和slide
            slidesPerView: 3,//设置slider容器能够同时显示的slides数量
            spaceBetween : 80,//slide之间的距离(单位px)
            coverflowEffect: {
                rotate: 30,  //Y轴的旋转角度
                stretch: 0,  //每个slide之间的拉伸值,越大slide靠得越紧
                depth: 100,  //slide的位置深度。值越大z轴距离越远,看起来越小
                modifier: 1.5,//倍率 值越大这三个参数的效果越明显
                slideShadows : true,//是否开启阴影
            },
            nested:true, //用于嵌套相同方向的swiper时,当切换到子swiper时停止父swiper的切换。
        });
        
           
            
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值