タイプライターっぽいエフェクトを実行できる 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
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
Comments: 2 - Leave a comment
IE非対応ですか?会社のIE8でデモページ見たのですがうまく動かないようなのですが・・・
文字を配列にするとこ間違ってました・・・
もう大丈夫だと思います!