之前的文章《手把手教你使用CSS3製作一個簡單頁面的佈局(代碼詳解)》中,給大家介紹了怎麼使用CSS3製作一個簡單頁面的佈局。以下這篇文章跟大家介紹怎麼使用Vue實現動畫效果,有需要的朋友可以參考一下,希望對你們有幫助。
官網API 網址:https://cn.vuejs.org/v2/guide/transitions.html
#官方的demo
點擊顯示與消失
<div id="demo"> <button v-on:click="show = !show"> Toggle </button> <transition name="fade"> <p v-if="show">hello</p> </transition> </div> <script> new Vue({ el: "#demo", data: { show: true, }, }); </script> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-active { opacity: 0; } </style>
transition
使用<transition name="fade"> (元素,属性、路由....) </transition>
<strong>class</strong>
定義
進入過渡的開始狀態,元素被插入時生效,只應用一幀後立即刪除;(運動的初始狀態)
.fade-enter-active{ }進入過渡的結束狀態,元素插入時就生效,在t
ransition/animation###完成之後移除。這個類別可以被用來定義過渡的過程時間,延遲和曲線函數。 #########.fade-leave{ }###離開過渡的開始狀態,元素被刪除時觸發,只應用一幀後立即刪除;########.fade- leave-active{ }###離開過渡的結束狀態,元素被刪除時生效,在###transition/animation###完成之後移除。這個類別可以被用來定義過渡的過程時間,延遲和曲線函數。 ######自訂過度類別名稱############預設的### .fade-enter###變成###.fade-in-enter#### ###########預設的### .fade-enter-active###變成### .fade-in-active############# #預設的### .fade-leave###變成### .fade-out-enter################預設的### .fade-leave-active ###變成### .fade-out-active############<transition name="fade" enter-class="fade-in-enter" enter-active-class="fade-in-active" leave-class="fade-out-enter" leave-active-class="fade-out-active" > <p v-show="show">hello</p> </transition>
.fade-in-active, .fade-out-active { transition: all 0.5s ease; } .fade-in-enter, .fade-out-active { opacity: 0; }
<transition name="fade" @before-enter="beforeEnter" @enter="enter" @after-enter="afterEnter" @before-leave="beforeLeave" @leave="leave" @after-leave="afterLeave" > <div v-show="show"></div> </transition> <script> export default { methods: { beforeEnter(el) { console.log("动画enter之前"); }, enter(el) { console.log("动画enter进入"); }, afterEnter(el) { console.log("动画进入之后"); el.style.background = "blue"; }, beforeLeave(el) { console.log("动画leave之前"); }, leave(el) { console.log("动画leave"); }, afterLeave(el) { console.log("动画leave之后"); el.style.background = "red"; }, }, }; </script>
<!-- 翻转进场出场--> <transition enter-active-class="flipInX" leave-active-class="flipOutX"> <div v-show="show" class="animated"></div> </transition> <!-- 或者 --> <transition enter-active-class="animated flipInX" leave-active-class="animated flipOutX" > <div v-show="show"></div> </transition>
<transition-group enter-active-class="flipInX" leave-active-class="flipOutX"> <div v-show="show" :key="x" v-for="x in 5"></div> </transition-group>
以上是教你怎麼使用Vue實現動畫效果(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!