適当な思いつきで書くブログ

UbuntuやPerlやJavaScriptやVimやZshやShellScriptやMySQLと戯れている中で適当な思いつきでやってみたことを書いています。

jquery.balloon.jsをクリックで表示したいときのTIPS

jquery.balloon.jsツールチップ(バルーン?)を簡単に利用できるプラグインで、

$('a#help').balloon({contents: '<p>Help me!</p>'});

jsにこんな感じに書いておくとa#helpの要素にマウスオーバーするとcontentsで指定したHTML(プレーンテキストでもOK)をツールチップで表示してくれる。マウスアウトするとツールチップは消える。

これをマウスクリックに反応させようとすると、サイトのデモには

$('a#help').showBalloon({contents: '<p>Help me!</p>'})
  .toggle(
    function(){ $(this).hideBalloon(); },
    function(){ $(this).showBalloon(); }
  );

のようにすればおkとのことなんだけど、これだとツールチップが初めから表示されてしまっている。

初めは非表示、クリックすると表示みたいにしたいときは、

jQuery(document).ready(function($) {
  $('a#help').showBalloon({contents: '<p>Help me!</p>'})
    // ごめんなさい、typoしてました...
    //  .hideBaloon()
    .hideBalloon()    // ここでいったん非表示にする。
    .toggle(
    // ごめんなさい、カンマ位置を間違えていました...
    //    function(){ $(this).showBalloon(); }
    //    function(){ $(this).hideBalloon(); },
      function(){ $(this).showBalloon(); },
      function(){ $(this).hideBalloon(); }
    );
});

みたいにしてあげればおk。
ちょっとカッコ悪いけど、CSSでごにょごにょやるよりかマシかなーと。