検索ボックスでカチカチとキーワード入力を再生する 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
