
テキストにアニメーションを追加するjQueryプラグイン[textillate.js]の使い方を紹介します。
まずはサンプルをご覧ください。
textillate.js : http://textillate.js.org
エフェクト部分は[animate.css]に依存しているため、アニメーションの種類が豊富に指定できる点が最大の特長です。
またjQueryに依存しており、他にも[jquery.lettering.js]という外部ファイルが必要になります。
ファイル一式をダウンロード
必要なファイルは以下。
- jQuery.js
- jquery.textillate.js
- jquery.lettering.js
- animate.css
入手するには下記公式ページから。右上の「Download ZIP」からファイル一式をダウンロードできます。
GitHib : https://github.com/jschr/textillate
ダウンロードしたZIPファイルを解凍すると、「assets」というフォルダの中に必要なデータがすべて揃っていますので、それを使いましょう。
[textillate.js]の実装
今回はダウンロードしたファイルはHTMLの<head>〜</head>内ですべて読み込むことにします。
<link rel="stylesheet" href="animate.css"> <script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="jquery.textillate.js"<</script> <script src="jquery.lettering.js"<</script>
HTMLの記述
アニメーションを施すテキスト部分を作ります。
<span class="test">SAMPLE TEXT</span>
ここでは「test」というclass名にしてみました。
初期設定
最後に[textillate.js]を動かすための初期設定を記述します。これを忘れると動かないですからね。
<script>
$(function () {
$('.test').textillate();
})
</script>
先ほどテキスト部分に「class="test"」を付与したので、ここでは「.test」と指定します。
ここまでで導入完了ですが、オプション設定でアニメーションの種類やループ機能等のカスタマイズが可能です。
オプション設定
追加オプションの指定は2通りの方法があります。
JavaScriptで指定する
<script>
$('.test').textillate({
selector: '.texts', // 要素を指定
loop: false, // ループ繰り返し
minDisplayTime: 3000, // アニメーションの間隔時間
initialDelay: 1000, // アニメーション開始までの遅延時間
autoStart: true, // アニメーションの自動スタート
inEffects: [], // エフェクト開始時のアニメーション設定
outEffects: [ 'hinge' ], // エフェクト終了時のアニメーション設定
in: {
effect: 'fadeInLeftBig', // エフェクトの指定
delayScale: 1.5, // 遅延時間の指数
delay: 50, // 文字ごとの遅延時間
sync: false, // アニメーションをすべての文字に同時に適用
shuffle: false, // 文字のランダム表示
reverse: false, // エフェクトを逆に再生(「sync:true」のときは不可)
callback: function () {} // コールバック関数
},
out: {
effect: 'hinge',
delayScale: 1.5,
delay: 50,
sync: false,
shuffle: false,
reverse: false,
callback: function () {}
}
callback: function () {},
type: 'char'
});
</script>
カスタムデータ属性で指定する
独自データ属性を使ってオプションを指定する際は次のように記述します。
<span class="test" data-in-effect="rollIn" data-out-shuffle="true">SAMPLE TEXT</span>
どちらかお好みの方法を選択できるのが嬉しいですね。
実際に使ってみた動作サンプルが以下になります。
唯一のデメリットは、外部スタイルシート(animate.css)も含め、必要なファイルが4つになること。
最近はファイル1つで賄うライブラリが流行ですから、少々面倒な部分もあるかもしれません。
逆にメリットは豊富なアニメーションやオプションが用意されていることですね。
テキストを装飾したいときには非常に有効かと思います。
ぜひお試しください。