0Pricing
Angular Academy · レッスン

キーフレームとスタガー

複雑で段階的なアニメーションを作成します

「キーフレームとスタガー」はCoddyKit上の無料Angular Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAngular Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Angular Academyコースには全4レッスンが含まれています。

複数ステップのアニメーション

単純なトランジションはAからBへ移行します。バウンス、パルス、色の変化など、複数ステップの動きにはAngularのkeyframesを使用し、多数の項目を順番にアニメーションさせるにはstaggerを使用します。

keyframes関数

keyframesはstyleステップの配列を受け取ります。各ステップには、再生時間全体の中での位置を示す0から1までのoffsetを指定します。

animate('1s', keyframes([
  style({ opacity: 0, offset: 0 }),
  style({ opacity: 0.5, offset: 0.3 }),
  style({ opacity: 1, offset: 1 })
]))

offsetを理解する

offsetは、再生時間全体に対する割合です。0が開始位置、1が終了位置を表します。配列内では、offsetの値が増加するように指定してください。

バウンス効果

keyframesを使うと、行き過ぎてから戻る動きによってバウンスを表現できます。

keyframes([
  style({ transform: 'translateY(0)', offset: 0 }),
  style({ transform: 'translateY(-20px)', offset: 0.5 }),
  style({ transform: 'translateY(0)', offset: 1 })
])

offsetの省略

offsetを省略すると、Angularは再生時間全体にわたってキーフレームを均等に配置します。

keyframes([
  style({ opacity: 0 }),
  style({ opacity: 1 })
])

query関数

ホストの子要素をアニメーションさせるには、トランジション内でqueryを使って子要素を選択します。

transition('* => *', [
  query(':enter', [
    style({ opacity: 0 })
  ])
])

stagger関数

staggerは、選択した各要素のアニメーションの間に時間差を設け、連鎖するような効果を作り出します。

query(':enter', [
  style({ opacity: 0 }),
  stagger(100, [
    animate('300ms', style({ opacity: 1 }))
  ])
])

リストをstaggerさせる

リストコンテナのtrigger内でqueryとstaggerを組み合わせると、項目を1つずつ順番にフェードインできます。

trigger('listAnim', [
  transition('* => *', [
    query(':enter', [
      style({ opacity: 0 }),
      stagger(80, animate('250ms', style({ opacity: 1 })))
    ], { optional: true })
  ])
])

オプションフラグ

queryに{ optional: true }を渡すと、一致する要素が存在しない場合でもアニメーションでエラーが発生しません。

負のstagger

staggerに負の値を指定すると順序が逆になり、最後の項目から先にアニメーションします。終了時の連鎖アニメーションに便利です。

stagger(-50, animate('200ms', style({ opacity: 0 })))

パフォーマンスに関する注意

多数の要素をstaggerさせると、負荷が高くなる場合があります。各項目の再生時間を短くし、アニメーションをGPU上で処理できるよう、transformやopacityを優先してください。

クイックチェック

keyframesとstaggerについての理解度を確認します。

まとめ

keyframesはoffsetの値を使って複数ステップの動きを定義し、queryとstaggerは多数の要素を連鎖的にアニメーションさせることを学びました。安全性を高めるには{ optional: true }を使い、GPUで処理しやすいプロパティを優先してください。

よくある質問

「キーフレームとスタガー」レッスンは無料ですか?

はい。「キーフレームとスタガー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Angular Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Angular Academyコースには全4レッスンが含まれています。

「キーフレームとスタガー」で何を学びますか?

複雑で段階的なアニメーションを作成します ブラウザで直接実行するハンズオンコードでAngular Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Angular Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAngular Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「キーフレームとスタガー」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAngular Academyレッスンでコードを書いて実行できますか?

はい。すべてのAngular Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. アニメーションの基礎:triggerとstate
  2. トランジションとタイミング
  3. 入場と退場のアニメーション
  4. キーフレームとスタガー
← Angular Academyに戻る