動態加載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)
初始化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM