簡單談?wù)剉ue的過渡動(dòng)畫(推薦)
在vue中,實(shí)現(xiàn)過渡動(dòng)畫一般是下面這樣:
<transition name="fade"> <div></div> </transition>
用一個(gè)transition對元素或者組件進(jìn)行封裝.
在過渡的時(shí)候,會有 4 個(gè)(CSS)類名在 enter/leave 的過渡中切換。
1.v-enter: 定義進(jìn)入過渡的開始狀態(tài)。在元素被插入時(shí)生效,在下一個(gè)幀移除。
2.v-enter-active: 定義進(jìn)入過渡的結(jié)束狀態(tài)。在元素被插入時(shí)生效,在 transition/animation 完成之后移除。
3.v-leave: 定義離開過渡的開始狀態(tài)。在離開過渡被觸發(fā)時(shí)生效,在下一個(gè)幀移除。
4.v-leave-active: 定義離開過渡的結(jié)束狀態(tài)。在離開過渡被觸發(fā)時(shí)生效,在 transition/animation 完成之后移除。
上面是官方文檔的原話,但是這4個(gè)類名如何運(yùn)用呢?下面看個(gè)例子
<transition name="fold"> <div v-show="show" class="example"></div> </transition> css: .example { width: 100px; height: 100px; transform: translate3d(0, -100px, 0); } .fold-enter-active, .fold-leave-active { transition: all .5s; } .fold-enter, .fold-leave-active { transform: translate3d(0, 0, 0); }
當(dāng)show = true時(shí):
這里的fold-enter,是在元素顯示的一瞬間被加入,然后瞬間被移除,在上面的例子中,example這個(gè)塊狀元素本來因?yàn)橛辛藅ransform: translate3d(0, -100px, 0)這個(gè)樣式,所以被上移了100px,但是因?yàn)閒old-enter,所以將example這個(gè)塊狀元素移到了原位,但是fold-enter因?yàn)樗查g就被移除掉了,所以這時(shí)候的元素的樣式又變成了transform: translate3d(0, -100px, 0),但是這時(shí)候fold-enter-active這個(gè)樣式就生效了,因?yàn)樵O(shè)置了transition: all .5s,所以元素會在0.5s的時(shí)間內(nèi)上移100px,在過渡動(dòng)畫結(jié)束之后,fold-enter-active這個(gè)類馬上被移除.
當(dāng)show = false時(shí):
example不會馬上消失,這個(gè)時(shí)候fold-leave-active這個(gè)類就起作用了,example這時(shí)的位置是在-100px,fold-leave-active定義的是過渡的結(jié)束狀態(tài):transform: translate3d(0, 0, 0);,但是同時(shí)又設(shè)置了transition: all .5s,所以這時(shí)元素會在0.5s的時(shí)間內(nèi)下移100px.之后fold-leave-active被移除.
官網(wǎng)的一張圖
另外,還可以在動(dòng)畫中調(diào)用js鉤子函數(shù):
<transition v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter="afterEnter" v-on:enter-cancelled="enterCancelled" v-on:before-leave="beforeLeave" v-on:leave="leave" v-on:after-leave="afterLeave" v-on:leave-cancelled="leaveCancelled" > </transition>
不過用的不多,可以在methods中定義這些方法.
以上這篇簡單談?wù)剉ue的過渡動(dòng)畫(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Vue入門之a(chǎn)nimate過渡動(dòng)畫效果
- vue實(shí)現(xiàn)列表滾動(dòng)的過渡動(dòng)畫
- 使用vue-router切換頁面時(shí)實(shí)現(xiàn)設(shè)置過渡動(dòng)畫
- vue中組件的過渡動(dòng)畫及實(shí)現(xiàn)代碼
- Vue 解決路由過渡動(dòng)畫抖動(dòng)問題(實(shí)例詳解)
- Vue運(yùn)用transition實(shí)現(xiàn)過渡動(dòng)畫
- Vue動(dòng)畫事件詳解及過渡動(dòng)畫實(shí)例
- 解決vue的過渡動(dòng)畫無法正常實(shí)現(xiàn)問題
- Vue中的基礎(chǔ)過渡動(dòng)畫及實(shí)現(xiàn)原理解析
- Vue中實(shí)現(xiàn)過渡動(dòng)畫效果實(shí)例詳解
相關(guān)文章
關(guān)于axios配置請求頭content-type實(shí)例詳解
現(xiàn)在前端開發(fā)中需要通過Ajax發(fā)送請求獲取后端數(shù)據(jù)是很普遍的一件事情了,下面這篇文章主要介紹了關(guān)于axios配置請求頭content-type的相關(guān)資料,需要的朋友可以參考下2022-04-04關(guān)于vuex的數(shù)據(jù)持久化處理方式
這篇文章主要介紹了關(guān)于vuex的數(shù)據(jù)持久化處理方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue.js實(shí)現(xiàn)輸入框綁定的實(shí)例代碼
這篇文章主要介紹了Vue.js實(shí)現(xiàn)輸入框綁定的實(shí)例代碼,需要的朋友可以參考下2017-08-08Vue 實(shí)現(xiàn)從文件中獲取文本信息的方法詳解
這篇文章主要介紹了Vue 實(shí)現(xiàn)從文件中獲取文本信息的方法,結(jié)合實(shí)例形式詳細(xì)分析了vue.js基于export導(dǎo)出的文件信息讀取相關(guān)操作技巧,需要的朋友可以參考下2019-10-10詳解vue項(xiàng)目打包后通過百度的BAE發(fā)布到網(wǎng)上的流程
這篇文章主要介紹了將vue的項(xiàng)目打包后通過百度的BAE發(fā)布到網(wǎng)上的流程,主要運(yùn)用的技術(shù)是vue+express+git+百度的應(yīng)用引擎BAE。需要的朋友可以參考下2018-03-03