Maison > interface Web > Voir.js > Vous apprendre à utiliser Vue pour réaliser des effets d'animation (avec code)

Vous apprendre à utiliser Vue pour réaliser des effets d'animation (avec code)

奋力向前
Libérer: 2021-08-19 09:47:49
avant
3211 Les gens l'ont consulté

Dans l'article précédent "Vous apprendre étape par étape à utiliser CSS3 pour créer une mise en page simple (explication détaillée du code)", je vous ai présenté comment utiliser CSS3 pour créer une mise en page simple. L'article suivant vous expliquera comment utiliser Vue pour obtenir des effets d'animation. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Vous apprendre à utiliser Vue pour réaliser des effets d'animation (avec code)

Adresse API officielle : https://cn.vuejs.org/v2/guide/transitions.html

démo officielle Cliquez pour afficher et disparaîtredemo点击显示与消失

<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>
Copier après la connexion

transition 使用

<transition name="fade">
  (元素,属性、路由....)
</transition>
Copier après la connexion

<strong>class</strong>定义

.fade-enter{ }进入过渡的开始状态,元素被插入时生效,只应用一帧后立即删除;(运动的初始状态)

.fade-enter-active{ }进入过渡的结束状态,元素被插入时就生效,在transition/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>
Copier après la connexion
.fade-in-active,
.fade-out-active {
  transition: all 0.5s ease;
}
.fade-in-enter,
.fade-out-active {
  opacity: 0;
}
Copier après la connexion

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>
Copier après la connexion

transition结合animate.css使用

以下代码演示元素以 X 轴为基线,翻转进场出场的动画Animate.css

<!-- 翻转进场出场-->
<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>
Copier après la connexion

transition Utilisez
<transition-group enter-active-class="flipInX" leave-active-class="flipOutX">
  <div v-show="show" :key="x" v-for="x in 5"></div>
</transition-group>
Copier après la connexion

<strong>class</strong>Définition

.fade-enter{ } pour entrer la transition L'état de départ, qui prend effet lorsque l'élément est inséré, est supprimé immédiatement après l'application d'une seule image (état de mouvement initial)

.fade-enter-active{ } Entre dans la fin ; état de la transition, et l'élément est inséré. Il prend effet lorsque la transition/animation est terminée et est supprimée. Cette classe peut être utilisée pour définir les temps de processus de transition, les retards et les fonctions de courbe.

.fade-leave{ }Quitte l'état de départ de la transition, déclenchée lorsque l'élément est supprimé, et est supprimée immédiatement après l'application d'une seule image ;

.fade-leave- ; active{ } code>Quitte l'état final de la transition, prend effet lorsque l'élément est supprimé et est supprimé une fois la transition/animation terminée. Cette classe peut être utilisée pour définir les temps de processus de transition, les retards et les fonctions de courbe. Nom de classe de transition personnalisé

  • 🎜Le .fade-enter par défaut devient .fade-in-enter🎜
  • 🎜Le .fade-enter-active par défaut devient .fade-in-active🎜
  • 🎜 Le .fade-leave par défaut devient .fade-out-enter🎜
  • 🎜Le .fade-leave-active par défaut devient .fade-out-active🎜
rrreeerrreee🎜transition fonctions liées🎜rrreee🎜transition code>Utiliser 🎜🎜 🎜 en conjonction avec <code>animate.css Le code suivant montre l'animation d'éléments entrant et sortant en utilisant l'axe X comme ligne de base Animate.css Cliquez ici pour le. adresse de la bibliothèque : https://animate.style/🎜🎜rrreee🎜List transition🎜rrreee🎜🎜Il est à noter que lors du regroupement, la valeur de la clé affecte directement la transition de l'animation. Pour plus de détails, veuillez vous référer à 🎜vue. la valeur clé de l'animation affecte les performances de l'animation de transition🎜🎜 🎜🎜Apprentissage recommandé : 🎜Tutoriel vidéo JavaScript🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:chuchur.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal