国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

簡單談談vue的過渡動畫(推薦)

2019-11-19 15:11:50
字體:
來源:轉載
供稿:網友

在vue中,實現過渡動畫一般是下面這樣:

<transition name="fade"> <div></div></transition>

用一個transition對元素或者組件進行封裝.

在過渡的時候,會有 4 個(CSS)類名在 enter/leave 的過渡中切換。

1.v-enter: 定義進入過渡的開始狀態。在元素被插入時生效,在下一個幀移除。

2.v-enter-active: 定義進入過渡的結束狀態。在元素被插入時生效,在 transition/animation 完成之后移除。

3.v-leave: 定義離開過渡的開始狀態。在離開過渡被觸發時生效,在下一個幀移除。

4.v-leave-active: 定義離開過渡的結束狀態。在離開過渡被觸發時生效,在 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這個樣式就生效了,因為設置了transition: all .5s,所以元素會在0.5s的時間內上移100px,在過渡動畫結束之后,fold-enter-active這個類馬上被移除.

當show = false時:

example不會馬上消失,這個時候fold-leave-active這個類就起作用了,example這時的位置是在-100px,fold-leave-active定義的是過渡的結束狀態:transform: translate3d(0, 0, 0);,但是同時又設置了transition: all .5s,所以這時元素會在0.5s的時間內下移100px.之后fold-leave-active被移除.

官網的一張圖

另外,還可以在動畫中調用js鉤子函數:

<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中定義這些方法.

以上這篇簡單談談vue的過渡動畫(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普定县| 南京市| 湖北省| 都昌县| 屏南县| 武邑县| 临清市| 扎鲁特旗| 隆化县| 巴林左旗| 泽州县| 原阳县| 盐源县| 天长市| 西城区| 大足县| 安陆市| 阜南县| 镇安县| 虹口区| 达日县| 聊城市| 宝兴县| 新河县| 望奎县| 襄樊市| 松阳县| 蚌埠市| 扎赉特旗| 乾安县| 台安县| 邳州市| 神木县| 花垣县| 遂平县| 镇原县| 浑源县| 景德镇市| 东源县| 阿拉善右旗| 清镇市|