请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

<!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>

正在回答 回答被采纳积分+3

2回答

Dell 2020-05-03 19:33:32

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

0 回复 有任何疑惑可以回复我~
呀呀呀亚歌 2020-04-29 21:13:19

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

0 回复 有任何疑惑可以回复我~
  • 提问者 迷失的小麦 #1
    请老师打开控制台,动画开始这句话一直不会被输出,而且从隐藏到显示没有动画效果,一下就出来了
    回复 有任何疑惑可以回复我~ 2020-04-30 10:37:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信