私は、3種類のアニメーション状態:hidden
,visible
およびswitch
のコンポーネントを持っています。コンポーネントはhidden
で始まり、データはAPIから取得されます。 API呼び出しが完了すると、状態はvisible
に設定され、コンポーネントが表示されます。ユーザーがコンポーネントをクリックすると、コンポーネントは消え、新しいコンテンツがAPIからロードされます。その後、コンポーネントが再び表示されます。ng2 animation:状態間のCSSプロパティを変更する方法
これはすべて動作します。しかし、私は、コンポーネントが常に左から飛んで、右に飛ぶという効果が欲しいです。私はtranslateX(-200%)
とtranslateX(200%)
- とtranslateX(0)
の可視状態でこれを行います。より良い効果を得るためにopacity
を0から1に変更します。
問題:200%
から-200%
までの状態switch
とvisible
の間に行くコンポーネントが必要です。さもなければ、それは(最初の時間の後に)左からではなく右から飛びます。そして、これを見る必要はありません(不透明度は0のままです)。
私はkeyframes
を試しましたが、きれいなアニメーションを取得できませんでした。トランジションなしでアニメーション(スタイルセット)の開始点を変更する方法はありますか?
これは、これまでのところ、私のアニメーションコードです:あなたは遷移関数でスタイル機能を置く場合は、直接スタイルを適用することができます思って誰のために
animations: [
trigger('state', [
state('hidden', style({opacity: 0, transform: 'translateX(-200%)'})),
state('visible', style({opacity: 1, transform: 'translateX(0)'})),
state('switch', style({opacity: 0, transform: 'translateX(200%)'})),
transition('hidden => visible', animate('200ms 400ms ease-in-out')),
transition('visible => switch', animate('200ms ease-in-out')),
transition('switch => visible', [
animate(400, keyframes([
style({opacity: 0, transform: 'translateX(-200%)', offset: 0}),
style({opacity: 1, transform: 'translateX(0)', offset: 0.4})
]))
])
])
]
})