タイプライターっぽいエフェクトを実行できる 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要素を含むことができないので、その辺よろしくおねがいします。

github repository

何か役に立つことがあったらシェアしてみてください

このエントリーをはてなブックマークに追加

Comments: 2 - Leave a comment

  1. cyokodog

    IE非対応ですか?会社のIE8でデモページ見たのですがうまく動かないようなのですが・・・

    1. nori

      文字を配列にするとこ間違ってました・・・
      もう大丈夫だと思います!

Leave a comment

If you have bug tickets or nice idea, please post that at github repository issues, thx. バグや要望などはgithubのIssuesでください ;)

Trackbacks: 0

Trackback URL for this entry
Listed below are links to weblogs that reference
タイプライターっぽいエフェクトを実行できる jq.typewrite from 5509

Author

nori
nori
- UI Engineer
Location
- ,