paginationClickable: true, slidesPerView: 3,

本文介绍在Vue(2.5.x)中使用Swiper(4.3.3)实现循环轮播的正确方法。通过在$nextTick中初始化Swiper,确保v-for循环渲染完成后才进行初始化,避免错乱。文章详细解释了如何设置autoplay、loop、observer和observeParents等参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

长话短说,在vue(2.5.x)中使用swiper(4.3.3),轮播加了autoplay和loop、observer、observeParents等参数还是很诡异的无法循环轮播;

那么可以这样写代码试试:

    this.$api.queryImages().then((resp) => {
       if(resp && resp.data.resultCode == "0"){
         this.swiperImgs = resp.data.data;
         this.$nextTick(() => {  // 下一个UI帧再初始化swiper
           this.initSwiper();
         });
        }
    })

是的,关键就在于上面这个初始化swiper的调用了,一般会用v-for循环渲染,然后马上初始化swiper,但是这样可能导致初始化时v-for还没渲染完毕,所以可能swiper错乱, 那么swiper放在$nextTick下一个UI帧再初始化,保证了v-for已经完成循环。

    initSwiper() {
            if (this.swiper != null) return;
            this.swiper = new Swiper('.swiper-container', {
              loop: true,
              speed: 900,
              autoplay: {
                delay: 3000, //3秒切换一次
                disableOnInteraction: false
              },
              observer: true,//修改swiper自己或子元素时,自动初始化swiper
              observeParents: true,//修改swiper的父元素时,自动初始化swiper
     
              pagination: {
                el: '.swiper-pagination',
                // dynamicBullets: true,
              }
            });
          }

这段代码是使用 Swiper5 初始化一个垂直方向的轮播图,其中包含了许多配置项,下面我来一一解析: ```javascript var mySwiper1 = new Swiper(".m-mzw-swiper-a4 .swiper1", { direction: "vertical", // 设置为垂直方向 loop: true, // 无限循环 slidesPerView: "auto", // 自动根据容器宽度计算每页显示的图片数量 centeredSlides: true, // 居中显示轮播图 freeMode: true, // 自由模式,允许滑动到任意位置 watchSlidesVisibility: true, // 开启此选项后,仅在当前slide对应的swiper-slide-visible元素上添加active类名 // mousewheel: true // 是否开启鼠标滚轮控制 }); ``` - `direction: "vertical"`:设置轮播图方向为垂直方向,即上下滚动。 - `loop: true`:开启轮播图无限循环,即从最后一张图片切换到第一张图片时,会自动继续切换到第二张图片。 - `slidesPerView: "auto"`:自动根据容器宽度计算每页显示的图片数量,即每个页面容纳的图片数量不固定。 - `centeredSlides: true`:居中显示轮播图,即当前显示的图片在居中位置。 - `freeMode: true`:自由模式,允许滑动到任意位置,而不是每次只能滑动到下一个或上一个图片。 - `watchSlidesVisibility: true`:开启此选项后,仅在当前 slide 对应的 `.swiper-slide-visible` 元素上添加 `active` 类名,可以用于控制样式。 - `mousewheel: true`:是否开启鼠标滚轮控制,这个选项被注释掉了,如果需要开启,可以取消注释。 除了这些常用的配置项之外,Swiper5 还有许多其他的配置项,可以根据实际需求进行配置。希望这些信息对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值