vue實(shí)現(xiàn)3D切換滾動(dòng)效果
本文實(shí)例為大家分享了vue實(shí)現(xiàn)3D切換滾動(dòng)效果的具體代碼,供大家參考,具體內(nèi)容如下
今天寫(xiě)項(xiàng)目,遇到一個(gè)點(diǎn)擊切換的滾動(dòng)需求,貼出來(lái),做一個(gè)記錄
這個(gè)是最終的一個(gè)效果,點(diǎn)擊左右小箭頭,實(shí)現(xiàn)滾動(dòng)效果,但是只是簡(jiǎn)單滾動(dòng),沒(méi)有動(dòng)畫(huà)之類(lèi)的
實(shí)現(xiàn)思路:
css
中,正常寫(xiě)一個(gè)div
用display:flex
來(lái)平鋪圖片- 然后中間位置定位一個(gè)框,框大小比外面的大,中間圖片隨意取列表中的一個(gè)就行
js
中,使用v-for
循環(huán)列表- 點(diǎn)擊右側(cè)時(shí),將循環(huán)列表中的第一個(gè)圖片刪除,然后添加到列表最后一個(gè),點(diǎn)擊左側(cè)時(shí)同理,這樣,就能簡(jiǎn)單實(shí)現(xiàn)一個(gè)無(wú)縫循環(huán)的效果了
- 最重要的一點(diǎn),因?yàn)橹虚g時(shí)梯形,要么就是讓UI給一個(gè)框,前端設(shè)置超出隱藏屬性,達(dá)到梯形效果,要么就是自己用
polygon
這個(gè)css
屬性調(diào)出一個(gè)多邊形出來(lái)
貼一下代碼,看看
// html // <!-- 滾動(dòng) --> ? ? <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> ? ? ? ? <!-- 左側(cè)漸變陰影 --> ? ? ? ? <div class="gradient-left"></div> ? ? ? ? <div class="rolling-shadow"></div> ? ? ? ? <!-- 右側(cè)漸變陰影 --> ? ? ? ? <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年職稱(chēng)宣傳活動(dòng)', ?? ? ? ? ? ?}, ?? ? ? ? ? ?{ ?? ? ? ? ? ? ?img: 'activity-02', ?? ? ? ? ? ? ?text: '2020年職稱(chēng)宣傳活動(dòng)1', ?? ? ? ? ? ?}, ?? ? ? ? ? ?{ ?? ? ? ? ? ? ?img: 'activity-03', ?? ? ? ? ? ? ?text: '2020年職稱(chēng)宣傳活動(dòng)2', ?? ? ? ? ? ?}, ?? ? ? ? ?], ?? ?} } methdos: { ?? ?// 點(diǎn)擊左側(cè) ?? ?previous() { ? ? ? const direction = 'left'; ? ? ? this.scrollImg(direction); ? ? }, ? ? // 點(diǎn)擊右側(cè) ? ? next() { ? ? ? const direction = 'right'; ? ? ? this.scrollImg(direction); ? ? }, ? ? // 處理滾動(dòng)列表圖片 ? ? 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重點(diǎn)代碼 // 繪制多邊形 // 這幾個(gè)屬性為逆時(shí)針旋轉(zhuǎn) ?clip-path: polygon(4% 4%, 1% 90%, 95% 90%, 92% 4%);
具體就根據(jù)設(shè)計(jì)稿慢慢調(diào)整
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue如何實(shí)現(xiàn)動(dòng)態(tài)加載腳本
這篇文章主要介紹了vue如何實(shí)現(xiàn)動(dòng)態(tài)加載腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02vue中的vendor.js文件過(guò)大問(wèn)題及解決
這篇文章主要介紹了vue中的vendor.js文件過(guò)大問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue 監(jiān)聽(tīng) Treeselect 選擇項(xiàng)的改變操作
這篇文章主要介紹了vue 監(jiān)聽(tīng) Treeselect 選擇項(xiàng)的改變操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08使用Vue指令實(shí)現(xiàn)Markdown渲染和代碼高亮
在前端開(kāi)發(fā)中,我們經(jīng)常需要將Markdown格式的文本渲染成HTML并展示在頁(yè)面上,同時(shí)還希望能夠?qū)Υa塊進(jìn)行高亮顯示,今天我將分享一段代碼,通過(guò)Vue指令實(shí)現(xiàn)了這個(gè)功能,需要的朋友可以參考下2023-09-09Vue數(shù)據(jù)雙向綁定底層實(shí)現(xiàn)原理
這篇文章主要為大家詳細(xì)介紹了Vue數(shù)據(jù)雙向綁定底層實(shí)現(xiàn)原理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11vue-model實(shí)現(xiàn)簡(jiǎn)易計(jì)算器
這篇文章主要為大家詳細(xì)介紹了vue-model實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08vue使用window.open()跳轉(zhuǎn)頁(yè)面的代碼案例
這篇文章主要介紹了vue中對(duì)window.openner的使用,vue使用window.open()跳轉(zhuǎn)頁(yè)面的代碼案例,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-11-11Vuejs 組件——props數(shù)據(jù)傳遞的實(shí)例代碼
本篇文章主要介紹了Vuejs 組件——props數(shù)據(jù)傳遞的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03