动态加载swiper,默认显示最后一个swiper-slide怎么办

Posted 鳳舞九天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态加载swiper,默认显示最后一个swiper-slide怎么办相关的知识,希望对你有一定的参考价值。

自己遇到的一个问题

 

 

VUE动态加载完成后显示最后一个,没找到原因不知道为什么

用了一个别人折中的方法

操作DOM更改了transform3d初始值

代码如下

    // 获得学段信息
    getPeriods () {
      let data = {
        subject: this.selectPeriodNum
      }
      this.$axios({
        method: \'GET\',
        url: \'/api/app/v1/get_live_courses_type\',
        params: data,
        headers: {
          \'sign\': this.$encryption(data, this.$store.state.token, this.$store.state.uid)
        }
      })
        .then(res => {
          console.log(res)
          this.periodData = res.data.data
          this.$nextTick(() => { // 下一帧渲染
            this.nav2Swiper()
            this.setSwiperInit()
          })
        })
        .catch(err => { console.log(err) })
    },




    nav2Swiper () {
      this.nav2SwiperOb = new Swiper(\'#nav2 .swiper-container\', {
        initialSlide: 0,
        slidesPerView: 5,
        // spaceBetween: \'4.27%\',
        observer: true, // 修改swiper自己或子元素时,自动初始化swiper
        observeParents: true, // 修改swiper的父元素时,自动初始化swiper
        slideShadows: true
      })
    },
    setSwiperInit () {
      setTimeout(() => {
        document.getElementsByClassName(\'swiper-wrapper\')[0].style.transform = \'translate3d(0px, 0px, 0px)\'
      }, 50)
    }

使用

 

setTimeout(() => {
        document.getElementsByClassName(\'swiper-wrapper\')[0].style.transform = \'translate3d(0px, 0px, 0px)\'
      }, 50)
初始化

以上是关于动态加载swiper,默认显示最后一个swiper-slide怎么办的主要内容,如果未能解决你的问题,请参考以下文章

图片轮播-swiper动态加载

使用swiper动态加载数据遇到的坑

swiper-动态更改数据后轮播点击或拖动失效

swiper5切换页面数据动态加载

Vue使用vue-awesome-swiper最后一个元素显示不全问题

Swiper 轮播插件 之 动态加载无法滑动