程序有问题,一直输入动画结束,除了第一次动画正确,但是一次动画开始也没有

来源:5-4 Vue中的 Js 动画与 Velocity.js 的结合

迷失的小麦

2020-04-29

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue中的JS动画与velocity.js</title>
  <script src="./vue.js"></script>
</head>
<body>

  <div id="root">
    <transition 
      name="fade"
      @before-enter="handleBeforeEnter"
      @enter="handleEnter"
      @after-enter="handleAfterEnter"
      @before-leave="handleBeforeLeave"
      @leave="handleLeave"
      @after-leave="handleAfterLeave"
    >
      <div v-if="show">Hello World</div>
    </transition>
    <button @click="handleClick">toggle</button>
  </div>

  <script>
    var vm = new Vue({
      el: "#root",
      data: {
        show: true
      },
      methods: {
        handleClick: function() {
          this.show = !this.show
        },
        handleBeforeEnter: function(el) {
          el.style.opacity = 0;
        },
        handleEnter: function(el, done) {
          el.style.opacity=1;
          el.style.transition='opacity 5s ease';
          el.ontransitionEnd=function(){
            done();
          };
        },
        handleAfterEnter: function(el) {
          console.log("动画开始")
        },
        handleBeforeLeave: function(el) {
          el.style.opacity = 1;
        },
        handleLeave: function(el, done) {
          el.style.opacity=0;
          el.style.transition='opacity 5s ease';
          el.ontransitionEnd=function(){
            done();
          };
        },
        handleAfterLeave: function(el) {
          console.log("动画结束")
        }
      }
    })
  </script>

</body>
</html>
写回答

2回答

Dell

2020-05-03

同学你是想搞一个appear的效果吗

0
0

呀呀呀亚歌

2020-04-29

为什么我复制你的代码,代码的动画在点击按钮的时候,能够正常转换啊?

0
1
迷失的小麦
请老师打开控制台,动画开始这句话一直不会被输出,而且从隐藏到显示没有动画效果,一下就出来了
2020-04-30
共1条回复

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10675 学习 · 8191 问题

查看课程