"/>
">

Maison  >  Article  >  interface Web  >  Comment implémenter l'événement scroll dans vue avec des effets d'animation

Comment implémenter l'événement scroll dans vue avec des effets d'animation

一个新手
一个新手original
2017-09-25 09:16:303436parcourir

Exigence : lorsque nous voulons dérouler la page, puis que des messages apparaissent en haut, comment l'implémenter, pensez d'abord à utiliser l'événement scroll de la page, puis réfléchissez à l'endroit où écrire l'événement. Pas grand chose à dire, regardez le code

<template>
  <p class="home">
    <p id="zz">
      <transition name="bounce">
        <ap v-show="aa"></ap>
      </transition>
      <app></app>
      <!--<lunBo></lunBo>-->
      <lunbotu id="lunbotu"></lunbotu>
      。。。。    </p>
  </p></template>

Ce qui apparaîtra en haut du code ci-dessus est le contenu du composant ap Ici, v-show est utilisé pour déterminer s'il faut l'afficher. la transition externe utilise des effets d'animation pour ralentir ce module. Ce qui doit être noté ici, c'est que l'attribut name est utilisé dans la transition, pas l'attribut class

<script>  
import ap from &#39;./app.vue&#39;
  import app from &#39;./header-app.vue&#39;
  import lunBo from &#39;./lunbo.vue&#39;
    ......  export default{
    data () {      
        return {        
        scroll: &#39;&#39;,        
        aa: false
      }
    },    components: {
      ap,
      app,
    ......
    },
    mounted () {      
    window.addEventListener(&#39;scroll&#39;, this.menu)
    },    
    methods: {
      menu () {        
      this.scroll = document.body.scrollTop        
      if (this.scroll >= 115) {          
      this.aa = true
        } else {          
        this.aa = false
        }
      }
    }
  }
</script>

Le code ici est destiné à gérer l'événement de défilement de page. Voyons comment gérer l'événement de défilement de page. événement d'animation

<style>
  .bounce-enter-active {    
  animation: bounce-in .5s;  }
  .bounce-leave-active {    
  animation: bounce-out .5s;  }
  @keyframes bounce-in {
    0% {      
    transform: translateY(-85px);    }
    /*50% {*/
      /*transform: translateY(-45px);*/
    /*}*/
    100% {      
    transform: translateY(0);    }
  }  
  @keyframes bounce-out {
    0% {      
    transform: translateY(0);    }
    /*50% {*/
      /*transform: translateY(-45px);*/
    /*}*/
    100% {      
    transform: translateY(-85px);    }
  }</style>

Le code ci-dessus gère les événements d'animation, ici nous utilisons des événements personnalisés

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!

Déclaration:
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