2018/08/30
超軽量!スクロールアニメーションスクリプト Delighters
コンテンツが横からスライドしたり、コンテンツが追従するように表示されたり、スクロールに合わせてCSSアニメーションを実装できるスクリプトをご紹介します。
Delightersについて
DelightersはCSSアニメーションを加えて、ユーザーがスクロールするのを楽しませるスクリプトです。
- 超軽量
1.43kBの超軽量スクリプトで、他のスクリプトやスタイルシートに依存はありません。
- フレームワークにとらわれない
React、VueJS、Angular、jQueryなど、フレームワークにとらわれずに動作します。
- レスポンシブに完全対応
スマホ・タブレット・デスクトップ、さまざまなデバイス・さまざまなサイズに対応しています。
- フレキシブル
さまざまな要素にアニメーションを適用できます。
- 宣言的
CSSで定義したデフォルトのスタイル、スタート時のスタイル、エンド時のスタイル間を繋ぐアニメーションが指定できます。
実際にデモページを見てみましょう。
Delighters
スクロールをしていくとコンテンツが様々な方向から出てきます。
こういった動きを入れると重たくなりがちですが、超軽量スクリプトなので気にせず使えます!
では続いてDelightersの使い方です。
使い方
1.JSファイルの読み込み
まず、Delighters -GitHubからファイルをダウンロードし、jsファイルを読み込みます。
<head> <script type="text/javascript" src="delighters.js"> </head>
2.HTMLの記述
HTMLはアニメーションを与える要素に「data-delighter」を加えるだけです。
<div class="content" data-delighter>testtest</div>
3.アニメーションの設定
アニメーションはCSSで設定していきます。
要素に基本のスタイルを定義し、アニメーションのスタート時とエンド時のスタイルを定義します。
.delighter, .started, .endedはスクロール時に自動で適用されます。
/* 基本のスタイル */ .content.delighter { transition: all .3s ease-out; transform: translateX(-100%); opacity: 0; } /* スタート時のスタイル */ .content.delighter.started { transform: none; opacity: 1; } /* エンド時のスタイル */ .content.delighter.started.ended { border: solid red 10px; }
動作の仕組みについて
delighters.jsのファイルの中を見てみましょう。
下記の記述が出てきます。
options = { attribute: 'data-delighter', classNames: ['delighter', 'started', 'ended'], start: 0.75, // default start threshold end: 0.75, // default end threshold autoInit: true // initialize when DOMContentLoaded }
Delighters.jsは、ユーザーがスクロールした時にclassを切り替え、要素がブラウザのビューポートの高さの75%を上回ると、.startedが適用され、要素の下部が75%を過ぎると、.endが適用されます。
この値を変更することで動きの見え方を変える事ができます。
まとめ
スクロール時のアニメーションするスクリプトは色々とありますが、軽さを求める方にぜひおすすめしたいスクリプトです。
デモページが参考になるので、まずはダンロードして使ってみてくださいね。
コーディング業務のご依頼、ご相談の詳細についてはこちらから
最後までお読みいただき、ありがとうございました。
よろしければシェアしていただければ幸いです。
次の記事へ | 前の記事へ |
WEB業界ならqam!qam(カム)はWEB業界で働く人や興味がある人に役立つ情報サイトです。
マーケティングやデザイン、マークアップ(コーディング)、プログラム、トレンドなどの情報をqamライター陣が執筆。噛めば噛むほど(読めば読むほど)制作・開発や運営・運用、業界知識やノウハウを学ぶことができます。