5509

タイプライターっぽいエフェクトを実行できる jq.typewrite

今さらなんでもないメソッドですけど、せっかく作ったので記事書いておきます。対象要素内のテキストを一文字ずつ表示するだけです。

ホスト / ダウンロード

使い方

そのままつかう

最初に $.typewrite(jQueryオブジェクト) で初期化しておきます。あとは任意のタイミングで .play() メソッドでエフェクトを実行できます。
.play(4) のように実行時に duration を決めることもできます。

.play() メソッドは jQuery Deferred オブジェクトを返すので、完了時に何かしたいときは .done() でつなげばOKです。

JavaScript

var typewrite1 = $.typewrite($('#typewrite1'));
$('#do_typewrite1').click(function() {
  typewrite1.play();
});

HTML

This is typewrite

オプションとDeferredも使う

JavaScript

var typewrite2 = $.typewrite($('#typewrite2'), {
  duration: 2,
  hide: false,
  end: '|'
});
$('#do_typewrite2').click(function() {
  typewrite2.play().done(function() {
    alert('completed');
  });
});

HTML

This is typewrite
This is typewrite

jQuery プラグインとして使う

jQuery プラグインとして使う場合は、play() メソッドが typewritePlay() メソッドに変わります。

var typewrite4 = $('#typewrite4').typewrite({
    end: '|'
});
$('#do_typewrite4').click(function() {
    typewrite4.typewritePlay(2);
});

オプション

オプション 説明
duration エフェクトが始まってから終わるまでの時間。1(s)のように秒で指定 (def 1
hide 初期化時にテキストを隠すかどうか (def true
end 入力カーソルを指定できます (def _(underscore)
wait ハッシュで対象の文字と待ち時間を渡すとその文字のときに余分に待つ(次の項へ

wait

デフォルトは日本語の4文字だけ指定してるので変えてください

文字列 待ち時間
0.1
0.1
0.1
0.1

指定するときはこんな感じで

$.typewrite(hoge, {
  wait: {
    ',': 0.3,
    '.': 0.3
  }
});

使うときの注意点

対象の要素は、
以外のHTML要素を含むことができないので、その辺よろしくおねがいします。

Author

nori
nori
- UI Engineer
Location
- ,