木子沐沐
程序猿----一路随行

vue的过渡动画,主要是transition标签的使用,配合css动画实现的。官方文档css过渡

通过点击事件来切换show的值来改变显示的文本,下面的css通过进入离开时的在匀速状态下xxs(秒)下来转换在x轴上位移的距离, transition包括的是位移的内。key是必须有的,用来标记位移的哪一个,这个方法有一点,用v-if时会频繁的建立销毁。name是你定义的名字必须有,和css里面的名字是保持一致的,你可以自定义名字。

使用它时有时候切换的并不是标签,而是一个组件,这时候应该使用transition-group来包括。

<template>
   <div>
      <div>
         <span @click="show = 0">第一个</span>
          <span @click="show = 2">第二个</span>
          <span @click="show = 3">第三个</span>
       </div>
       <transition-group name="slide">
         <div v-show="show == 0" key="0">第一个文本</div>
          <div v-show="show == 2" key="2">第二个文本</div>
          <div v-show="show == 3" key="3">第三个文本</div>
       </transition-group>
   </div>
</template>
<script>
   export default {
      data () {
        return {
            show:0
          }
      }
  }
</script>
<style>
   .slide-enter-active{
     transition:all .5s linear;
   }
   .slide-leave-active{
        transition:all .1s linear;
   }
   .slide-enter{
        transform: translateX(-100%);
        opacity: 0;
   }
   .slide-leave-to{
       transform: translateX(110%);
       opacity: 0;
   }
</style>

 

posted on 2019-05-06 15:12  木子沐沐  阅读(8959)  评论(0编辑  收藏  举报