簡單談?wù)剉ue的過渡動畫(推薦)
在vue中,實現(xiàn)過渡動畫一般是下面這樣:
<transition name="fade"> <div></div> </transition>
用一個transition對元素或者組件進行封裝.
在過渡的時候,會有 4 個(CSS)類名在 enter/leave 的過渡中切換。
1.v-enter: 定義進入過渡的開始狀態(tài)。在元素被插入時生效,在下一個幀移除。
2.v-enter-active: 定義進入過渡的結(jié)束狀態(tài)。在元素被插入時生效,在 transition/animation 完成之后移除。
3.v-leave: 定義離開過渡的開始狀態(tài)。在離開過渡被觸發(fā)時生效,在下一個幀移除。
4.v-leave-active: 定義離開過渡的結(jié)束狀態(tài)。在離開過渡被觸發(fā)時生效,在 transition/animation 完成之后移除。
上面是官方文檔的原話,但是這4個類名如何運用呢?下面看個例子
<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);
}
當show = true時:
這里的fold-enter,是在元素顯示的一瞬間被加入,然后瞬間被移除,在上面的例子中,example這個塊狀元素本來因為有了transform: translate3d(0, -100px, 0)這個樣式,所以被上移了100px,但是因為fold-enter,所以將example這個塊狀元素移到了原位,但是fold-enter因為瞬間就被移除掉了,所以這時候的元素的樣式又變成了transform: translate3d(0, -100px, 0),但是這時候fold-enter-active這個樣式就生效了,因為設(shè)置了transition: all .5s,所以元素會在0.5s的時間內(nèi)上移100px,在過渡動畫結(jié)束之后,fold-enter-active這個類馬上被移除.
當show = false時:
example不會馬上消失,這個時候fold-leave-active這個類就起作用了,example這時的位置是在-100px,fold-leave-active定義的是過渡的結(jié)束狀態(tài):transform: translate3d(0, 0, 0);,但是同時又設(shè)置了transition: all .5s,所以這時元素會在0.5s的時間內(nèi)下移100px.之后fold-leave-active被移除.
官網(wǎ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的過渡動畫(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue請求java服務(wù)端并返回數(shù)據(jù)代碼實例
這篇文章主要介紹了Vue請求java服務(wù)端并返回數(shù)據(jù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
使用Vue3進行數(shù)據(jù)綁定及顯示列表數(shù)據(jù)
這篇文章主要介紹了使用Vue3進行數(shù)據(jù)綁定及顯示列表數(shù)據(jù),整篇文章圍繞Vue3進行數(shù)據(jù)綁定及顯示列表數(shù)據(jù)的想換自來哦展開內(nèi)容,需要的小伙伴可以參考一下2021-10-10
Vue3實現(xiàn)動態(tài)導(dǎo)入Excel表格數(shù)據(jù)的方法詳解
在開發(fā)工作過程中,我們會遇到各種各樣的表格數(shù)據(jù)導(dǎo)入,動態(tài)數(shù)據(jù)導(dǎo)入可以減少人為操作,減少出錯。本文為大家介紹了Vue3實現(xiàn)動態(tài)導(dǎo)入Excel表格數(shù)據(jù)的方法,需要的可以參考一下2022-11-11
vue中modal傳輸數(shù)據(jù)并刷新部分頁面數(shù)據(jù)方式
這篇文章主要介紹了vue中modal傳輸數(shù)據(jù)并刷新部分頁面數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04

