首頁 >web前端 >Vue.js >教你怎麼使用Vue實現動畫效果(附程式碼)

教你怎麼使用Vue實現動畫效果(附程式碼)

奋力向前
奋力向前轉載
2021-08-18 11:55:053215瀏覽

之前的文章《手把手教你使用CSS3製作一個簡單頁面的佈局(代碼詳解)》中,給大家介紹了怎麼使用CSS3製作一個簡單頁面的佈局。以下這篇文章跟大家介紹怎麼使用Vue實現動畫效果,有需要的朋友可以參考一下,希望對你們有幫助。

教你怎麼使用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{ }

進入過渡的開始狀態,元素被插入時生效,只應用一幀後立即刪除;(運動的初始狀態)

.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###相關函數###
<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 ###結合###animate.css###使用#########以下程式碼示範元素以X 軸為基線,翻轉進場出場的動畫###Animate.css ###庫點這裡地址:https://animate.style/######
<!-- 翻转进场出场-->
<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>
######要注意的是在group的時候,key的值直接影響動畫的過渡,詳情請參閱###vue動畫key取值影響過渡動畫表現#############推薦學習:###JavaScript影片教學#######

以上是教你怎麼使用Vue實現動畫效果(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:chuchur.com。如有侵權,請聯絡admin@php.cn刪除