您好,登錄后才能下訂單哦!
本篇內容介紹了“vue怎么實現(xiàn)3D切換滾動效果”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
這個是最終的一個效果,點擊左右小箭頭,實現(xiàn)滾動效果,但是只是簡單滾動,沒有動畫之類的
css
中,正常寫一個div
用display: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切換滾動效果”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。