互換性抜群!「Web Animations API」の基本をおさらいしよう
Web Animationsの基本的な考え方
Web Animationsでは、CSSアニメーションと同じように*キーフレーム(アニメーションの進捗を実際のグラフィックに適用する際の枠組み)*を定めることでオブジェクトを変形したり動かしたりすることができます。
あとは、ブラウザの側でWeb Animationsの仕様に基づきキーフレーム間をトゥイーン(自動補正)します。
例えば、色が「赤から黄色に変わる」というアニメーションであれば、タイミングから算出されたアニメーションの進捗に応じた色(50%であればオレンジ色)でグラフィックを描くことになります。
上記の例で言えば、CSSアニメーションのキーフレームは以下のようになります。
@keyframes changeColor {
from {
background-color: red;
} to {
background-color: yellow;
}
}
このキーフレームの設定では、from(0%)に「background-color: red;」、to(100%)に「background-color: yellow;」を設定しており、それを直線的に動かしていることになります。
これをWeb Animations APIを使ってJavaScriptに置き換えると、以下のようになります。
var changeColor = document.getElementById(‘box’).animate([{
backgroundColor: ‘red’;
}, {
backgroundColor: ‘yellow’;
}], {
duration: 3000,
iterations: Infinity,
easing: ’linear’
});
基本的な構造はCSSアニメーションで組み立てるときと同じですが、キーフレームを指定する代わりに配列を組んだオブジェクトとして表現しています。
fromやtoを宣言する必要はなく、JavaScript側でキーフレームを割り当てます。
しかし、この時点ではアニメーションは再生されません。
以下のように呼び出すことで、再生が行われます。
changeColor.play();
Web Animations APIはCSSではなくJavaScriptベースで動いているため、random関数などJavaScriptでサポートされている関数を組み合わせてアニメーションを作成したり、DOM操作で直接HTML要素を変形・移動させることも可能です。
また、Web Animations APIでは、SVGを使ったアニメーションもサポートしています(Chrome環境でのみ作動します)。
<svg id=“box”><path fill="red" d="M30,100L100,30L170,100L100,170z" class="target"/></svg>
var target = document.getElementById(‘box’).animate([ d:{
"path('M30,100L100,30L170,100L100,170z')",
"path('M40,40L160,40L160,160L40,160z')",
"path('M100,30L170,100L100,170L30,100z')"
}], {
duration: 2000,
iterations: 2
});
以上により、3種類のフレームをセットしながら、なめらかに変形するSVGアニメーションが完成します。
このように、SVGアニメーションを作成する際に、コマとなるPathが分かって入れば、Web Animationsのanimate関数内でそのコマをつなぎ合わせることで、動きのある複雑なSVGアニメーションを実装することも可能です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング