溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue怎么實現(xiàn)3D切換滾動效果

發(fā)布時間:2022-04-11 10:31:16 來源:億速云 閱讀:499 作者:iii 欄目:開發(fā)技術

本篇內容介紹了“vue怎么實現(xiàn)3D切換滾動效果”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

vue怎么實現(xiàn)3D切換滾動效果

這個是最終的一個效果,點擊左右小箭頭,實現(xiàn)滾動效果,但是只是簡單滾動,沒有動畫之類的

實現(xiàn)思路:

  • css中,正常寫一個divdisplay:flex來平鋪圖片

  • 然后中間位置定位一個框,框大小比外面的大,中間圖片隨意取列表中的一個就行

  • js中,使用v-for循環(huán)列表

  • 點擊右側時,將循環(huán)列表中的第一個圖片刪除,然后添加到列表最后一個,點擊左側時同理,這樣,就能簡單實現(xiàn)一個無縫循環(huán)的效果了

  • 最重要的一點,因為中間時梯形,要么就是讓UI給一個框,前端設置超出隱藏屬性,達到梯形效果,要么就是自己用polygon這個css屬性調出一個多邊形出來

貼一下代碼,看看

// html
// <!-- 滾動 -->
    <div class="rolling">
      <div class="rolling-container">
        <div
          class="rolling-wraper"
          v-for="(v, i) in imgList"
          :key="i"
          @click="handleImg(v)"
        >
          <img
            :src="require(`@/assets/images/home/company/${v.img}.jpg`)"
            class="img"
          />
        </div>
        <!-- 左側漸變陰影 -->
        <div class="gradient-left"></div>
        <div class="rolling-shadow"></div>
        <!-- 右側漸變陰影 -->
        <div class="gradient-right"></div>
      </div>
      <!-- 中間放大層 -->
      <div class="photo-bg"></div>
      <img
        :src="
          require(`@/assets/images/home/company/${this.imgList[1].img}.jpg`)
        "
        class="img-large"
      />
      <img
        :src="require(`@/assets/images/home/company/photo-bg.png`)"
        class="trapezoidal"
      />
      <!-- 底部切換 -->
      <div class="top-botton">
        <div class="btn-left" @click="previous"></div>
        <div class="center-text">{{ this.imgList[1].text }}</div>
        <div class="btn-right" @click="next"></div>
   </div>
</div>
// js
data () {
    return {
        imgList: [
            {
              img: 'activity-01',
              text: '2020年職稱宣傳活動',
            },
            {
              img: 'activity-02',
              text: '2020年職稱宣傳活動1',
            },
            {
              img: 'activity-03',
              text: '2020年職稱宣傳活動2',
            },
          ],
    }
}

methdos: {
    // 點擊左側
    previous() {
      const direction = 'left';
      this.scrollImg(direction);
    },
    // 點擊右側
    next() {
      const direction = 'right';
      this.scrollImg(direction);
    },

    // 處理滾動列表圖片
    scrollImg(direction) {
      if (direction === 'left') {
        const first = this.imgList.shift();
        this.imgList.push(first);
      } else {
        const last = this.imgList.pop();
        this.imgList.unshift(last);
      }
      console.log();
    },
}
// css重點代碼
// 繪制多邊形
// 這幾個屬性為逆時針旋轉
 clip-path: polygon(4% 4%, 1% 90%, 95% 90%, 92% 4%);

vue怎么實現(xiàn)3D切換滾動效果

“vue怎么實現(xiàn)3D切換滾動效果”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

vue
AI