jquery積累

1 jquery 與 vuejscss

  1.1 jquery 與 vuejs mint-ui swiper搭配vue

    問題: vuejs mounted鉤子裏 axios給vue data裏面的對象賦值後,在axios裏面執行this.$nextTick(fn) fn裏面執行jquery的操做,例如 jquery獲取輪播可見的圖片的高度(該輪播組件來自mint-ui swiper)此時 這個圖片可能會是undefined,致使這個對象的.height()也爲undefined ,而我又須要滾動高度超過圖片高度後作些操做jquery

  

mounted: 

// 獲取數據並給vue data裏面的對象賦值
axios.get('/api/banner/1').then((res) => {
        if (res.status === 200) {
          this.dataSwiper = res.data.result;
          this.$nextTick(() => {
            this._calculateSwiperHei();
          })
        }
      }).catch((err) => {
        console.log(err);
      });

methods: 
/* 輪播高度計算 */
      _calculateSwiperHei() {
        let $swiperWrap = $('.swiper-wrap');
        let $floorBannerImgHei = $('.floor-banner-img').height() > 0 ? $('.floor-banner-img').height() : '77px';
        let $swiperFloorBannerWrap = $('.floor-banner-list');
        let $imgHei = $('.is-active .swiper-img').height() || 137; // *** 注意 

        // 輪播高度banner設置
        // console.log($swiperWrap[0]);

        this.topSwiperImgHei = $imgHei;
        $swiperWrap.css('height',$imgHei); // wiperImgHei = $imgHei;
        // 10大金剛高度設置
        $swiperFloorBannerWrap.css('height',$floorBannerImgHei);
      },
View Code
相關文章
相關標籤/搜索