検索ボックスでカチカチとキーワード入力を再生する jQuery oogo プラグイン
検索ボックスにキーワードをカチカチと入力し、検索ボタンをクリック!のようなテレビ CM の結びをよく見かけます。いわゆる「○○で検索してください」という手法です。このキーワードをカチカチと入力する雰囲気を実現する jQuery プラグインを作ってみました。
jQuery oogo プラグインと名付けました。oo (オーオー) は「○○を検索してください」の「○○を」を、go (ゴー) は「検索してください」を表現したつもりです。このプラグインは 指定した処理をキューに追加して後でまとめて実行する jQuery Delay プラグイン に依存しますので、あわせて使ってください。
検索ボックスのキーワードを入力する input タグに oogo メソッドを適用します。oogo メソッドは、指定したキーワードを1文字ずつに分割し、その文字を Delay Plugin を使って 500 ミリ秒の間隔で1文字ずつ追加するようにします。キーワードを省略すると、事前に入力してあったキーワードを使うようにしています。
これにより、検索ボックスにキーボードでカチカチと入力したような効果が実現できています。
ダウンロード
jquery.oogo.js (Uncompressed only)
(function($) { // $.oogo $.oogo = { // $.oogo.interval interval: 500 }; // oogo -- depend on Delay Plugin for jQuery $.fn.oogo = function(val) { var self = this; self.each(function(i, n) { $.each((val || n.value).split(''), function(i, v) { jQuery(n).delay(function() { this.value += v; }); }); n.value = ''; }); $.resume($.oogo.interval); return self; }; })(jQuery); // function($)
デモ
次のデモは、Google の検索ボックス に FM/V のテレビ CM で話題になった「地底人は誰?」というキーワードを指定したものです。キーボードを使ってカチカチっと入力したかのように見えませんか?
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.delay.js"></script> <script type="text/javascript" src="jquery.oogo.js"></script> <script type="text/javascript"> //<![CDATA[ jQuery(function($) { $('input[@name=q]').oogo('地底人は誰?'); }); //]]> </script>
jQuery oogo プラグインは jQuery の振る舞いを理解する目的で作成したものですが、特定の場面でニーズがあるかもしれませんので公開します。ライセンスは jQuery と同じにしておきます。
関連情報
- fixedUI プラグイン
- jTemplates
- Cycle Plugin
- Flash Plugin
- tablesorter
- Interface Elements
-
- Interface Elements の Carousel とフォートラベル API で旅行写真の 3D ギャラリーを作る
- Interface Elements の Imagebox とフォートラベル API で旅行写真のギャラリーを作る
- Interface Elements の Slider で郵便番号を入力してみたが・・・
- Interface Elements の Slider で旅行写真を拡大(または縮小)表示する
- Interface Elements の Tooltips をいろいろな要素で使ってみた
- Interface Elements の Scrollto でページ内リンクをスムースにする
- Interface Elements の Carousel と YouTube Data API で動画のサムネイルを回転表示する
- Selectors
- Events
- DOM Manipulation
- AJAX
- Forms with Functions
- Using with Other Libraries
- Books
- Resources