数値をカウントアップやカウントダウンのアニメーションを簡単に行うことができるプラグインのご紹介です。data属性で指定できて簡単そうなものを選びましたがすでに3年前のものですね。同じ名前のプラグインがありますがこちらの方が使いやすかったので選びました。あまり有名ではなさそうです。ですが機能は豊富でいろいろと使えそうです。
以下は同じようなカウントアニメーションができるタイプのものです。countUp.jsが有名どころでしょうか。
使い方
1.まずjQueryを読み込ませます
2.プラグインを読み込ませます
3.カウントさせたい指定要素とdata属性で数値を設定するだけ
上記は0から50までカウントアップをアニメーションするようになります。
このプラグインを使用する主な方法は、DOMのdata属性と、countTo関数のオプションの2つです。
これらの2つの方法は、ミックスして使用することもできます。
data属性はJSオプションよりも優先されます。
以下の例はdata属性のdata-fromはスタート値でdata-toはゴール値になります。25から始まって150までカウントを行います。
以下のように記載しても同じことになります。jsオプション方法になります。
以下の場合は3秒後にスタートし、0から100までを5秒でカウントアップします。
以下の例は0から500までをカウントアップします。
1秒後にスタートして50から2500までを3秒でカウントします。コールバック関数例。
200からカウントダウンして0になったら最後にcomplete!!!を表示させます。
0から100までをカウントアップします。
0から9.8までを3秒かけてカウントアップ、小数点第2位を表示
0から3968までを10秒かけてカウントアップ、1000の位にカンマ
10から1までを10秒間でカウントダウン
0から1000までカウントアップするが完了後さらに1000が追加され2000までカウントする
上記と同じサンプルは以下から確認できます。
⇒サンプルを見てみる
オプション値
()はdata属性
- from / (data-from):カウントを開始する番号。(デフォルト:0)
- to / (data-to):カウントを止める番号。(デフォルト:100)
- speed / (data-speed):カウントを終了するのに必要なミリ秒数。 (デフォルト:1000)
- refreshInterval / (data-refresh-interval):カウンタをリフレッシュするまでの待機時間(ミリ秒)。 (デフォルト:100)
- decimals / (data-decimals):デフォルトのフォーマッタを使用するときに表示する小数点以下の桁数です。(デフォルト:0)
- formatter (value, options):DOMにレンダリングする前に現在の値を書式設定するために使用されるハンドラです。真の現在の値とオプションセットは関数に渡され、DOM要素のコンテキストで実行されます。これは、フォーマットされた値を返す必要があります。(デフォルト: value.toFixed(options.decimals))
- onUpdate (value):カウンタが更新するすべての繰り返しに対してトリガされるコールバック関数です。現在レンダリングされた値は関数に渡され、DOM要素のコンテキストで呼び出されます。 (デフォルト:null)
- onComplete (value):カウントが終了するとトリガされるコールバック関数。最後にレンダリングされた値は関数に渡され、DOM要素のコンテキストで呼び出されます。(デフォルト:null)
機能
このプラグインは、主に状態を変更するための機能もサポートしています。関数は、名前を文字列としてcountTojQuery関数に渡すことで呼び出されます $(‘#timer’).countTo(‘stop’)
- start タイマーが停止している場合は、タイマーを再開します。
- stop 実行中の場合はタイマーを停止(一時停止)します。
- toggle タイマーの現在の状態に基づいてタイマーを開始または停止します。
- restart タイマーを最初の”from”値で再起動します。
参考になれば幸いです。
∞Tadashi Suyama∞