2017-06-28 9 views
1

私はイオン2+を使用していて、animate.cssを使用して画像をアニメーションしようとしています。初期ロード時にはrubberBandアニメーションを使用する必要があり、クリックするたびにバウンスアニメーションを使用する必要があります。 rubberBandアニメーションは読み込み時に正常に動作しますが、バウンスアニメーションは何回クリックしても一度しか動作しません。私は間違って何をしていますか?イオン2アニメーション画像をクリックすると

HTML

<img src="/assets/image.png (click)="animate()" [className]="imgClass"/> 

typescriptです

constructor(public navCtrl: NavController) { 
    this.imgClass = "animated rubberBand"; 
    } 

animate() { 
    this.imgClass = ""; 
    this.imgClass = "animated bounce"; 
    } 
+0

あなたのクラスは戻ってきていません... –

+0

@suraj彼はrubberBandに戻っていないと思われます。彼はバウンスアニメーションを再起動したいだけです。 – Ivaro18

+0

はい、ユーザーがクリックするたびに画像が跳ね返ります。申し訳ありませんが、質問で明確でない場合 – Blackout

答えて

1

だから私は、ユーザーが要素をクリックバウンスすべてを実行するとしますか?

現在のソリューションでは、同じ機能内にimgClassを2回設定しています。これらはすぐに実行され、クラスをリフレッシュしません。

回避策が使用することを次のようになります。

animate() { 
    this.imgClass = "animated"; 

    // this will execute async after 100ms 
    setTimeout(() => { 
    this.imgClass = "animated bounce"; 
    }, 100); 
} 

私はこれが働くと考えています。

+0

それは動作しますが、強制的にUIを強制的に他の方法はありますか? – Blackout

+0

おそらくはい、それは私が知っている?実際には、おそらくあなたのライブラリにJavascriptの可能性があり、それを使ってスクリプトを再読み込みしたり、アニメーションを再生したりすることができます – Ivaro18

関連する問題