vue中过渡和动画结合

动画、过渡、页面加载时就有动画

  <style>
    .de{
      width: 100px;
      height: 100px;
      background: green;
    }
    .fade-leave-active {
      transition: opacity 1s;
    }
    .fade-leave-to {
      opacity: 0
    }
  </style>
</head>

<body>
  <div id="demo">
    <button @click="show = !show">click me</button>
    <transition name="fade" 
                enter-active-class="animated swing fade-enter-active"
                leave-active-class="animated shake fade-leave-active"
                appear
                appear-active-class="animated swing">
      <div v-if="show" class="de">sfsf</div>
    </transition>
  </div>
  <script>
    new Vue({
      el: '#demo',
      data: {
        show: true
      }
    })
  </script>
</body>

2. 动画时长的设置

transition中的duration设置动画时长,单位是ms。注意:每个动画有自己的时长,各是各的,

我觉得吧,这个时长就是class样式存在的时间,动画和过渡跟他没有关系

<body>
  <div id="demo">
    <button @click="show = !show">click me</button>
    <transition name="fade" 
                :duration="5000"
                enter-active-class="animated swing fade-enter-active"
                leave-active-class="animated shake fade-leave-active"
                appear
                appear-active-class="animated swing">
      <div v-if="show" class="de">sfsf</div>
    </transition>
  </div>
  <script>
    new Vue({
      el: '#demo',
      data: {
        show: true
      }
    })
  </script>
</body>

 也可以具体设置enter和leave的时间:

:duration="{enter:5000, leave: 10000}"

猜你喜欢

转载自blog.csdn.net/zyz00000000/article/details/84307700