【问题标题】:How to restart animation - ionic如何重新启动动画 - 离子
【发布时间】:2018-07-05 12:51:48
【问题描述】:

我的动画需要在点击后重新启动。这是我的动画:

/* scss file */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 1s;
}

点击这个按钮(Animation It)动画只工作一次

<div [className]="myclass"> Hi Animation </div>
<button ion-button (click)="animationIt()">Animation It</button>

因为再次单击按钮,该按钮未添加类,因为该类在元素 &lt;div [className]="myclass"&gt; Hi Animation &lt;/div&gt; 上已存在 (fadeIn)

myclass: string;

animationIt() {
  this.myclass = 'fadeIn';
}

有没有办法在点击时重新启动动画(类)

【问题讨论】:

    标签: angular typescript ionic-framework sass angular-animations


    【解决方案1】:

    这是因为你已经将你的类名指定为fadeIn.. 你可以选择使用角度动画或

    我不能说这是否是触发动画的理想解决方案,但如果您想在每次单击某个按钮时触发动画,您应该将该变量分配给“fadeIn”,然后将其重新分配为空字符串可能使用超时

    我的类:字符串

    点击函数内部

    animationIt() {
      this.myCLass = "fadeIn"
      setTimeout(() =>{
        this.myClass = "" //assign it as empty string after a specific time 
      }, 1000)       // TIME IN MILLSECONDS
    }
    

    【讨论】:

    • 嗨 Mahesh Jadhav 感谢您的回答。你的 cood 工作正常。但是当我将this.myCLass = "fadeIn" 放入 setTimeout 函数并将this.myClass = "" 放入 setTimeout 函数并将计时器更改为 100 时。它很有用
    • 但是每次点击按钮时检查它是否工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    相关资源
    最近更新 更多