[JS] JavaScriptで吹き出しを表示するBalloon tooltip | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

画面レイアウトの関係上、表示する文字が画面内に収まらなくてどうしようか悩む事はよくあったりします。

あれも表示してくれ、これも入れてくれと要望を出されてもあまりに文字を詰め込み過ぎるとかなり見難い画面になってしまいますので、そういったときの手段として一覧(概要)画面と詳細画面を分けるなどがありますが、ここで紹介する吹き出しに情報を表示すると言うのも画面遷移無しで綺麗に見せる事が出来る一つの解決策になるかと思います。


Balloon tooltip


デモサイトは、こちら にあります。


こういうJavaScriptはいろんな種類がありますが、今回紹介したものは


・ リンクタグ以外にSPANタグやDIVタグで指定したものにも吹き出しを付ける事が可能

・ 表示がシンプル(指定したもの以外の文字を表示しない)


事などから使ってみる事にしました。



Balloon tooltipの使い方


1. まず上記のサイトからファイル一式をダウンロードして、使用したいサーバーに転送しておきます。

  使用するファイルは、「css」「js」「images」の3つのフォルダ内にあるファイルです。



2. 1.で転送したファイルを適当な場所に配置します。

  配置する際には、「css」「js」「images」それぞれのディレクトリ構成のまま配置します。


適当なディレクトリ
       ├ css       ─ bubble-tooltip.css
      ├ js        ─ bubble-tooltip.js
      └ images    ┬ bubble_bottom.gif
             ├ bubble_middle.gif
             └ bubble_top.gif


上記のような感じです。



3. 吹き出しを表示したい画面のHTMLファイルを開きJavaScriptとCSSファイルを読み込むように指定します。


<link rel='stylesheet' href='配置したディレクトリ/css/bubble-tooltip.css' type='text/css'>
<script type='text/javascript' src='配置したディレクトリ/js/bubble-tooltip.js'></script> 


4. 3.と同じHTMLファイルのBODYタグ内に下記を追加


<div id='bubble_tooltip'>
<div class='bubble_top'><span></span></div>
<div class='bubble_middle'><span id='bubble_tooltip_content'>Content is comming here as you probably can see.Content is comming here as you probably can see
.</span></div>
<div class='bubble_bottom'></div>
</div> 


5. 最後に吹き出しを付けたい箇所を下記のように記述します。


□ リンクタグに吹き出しをつける場合


<a href="#" onmousemove="showToolTip(event,'吹き出しに表示したい文字列');return false" onmouseout="hideToolTip()">A word</a> 


□ SANタグに吹き出しをつける場合


<span class="tooltip_text" href="#" onmousemove="showToolTip(event,'吹き出しに表示したい文字列');return false" onmouseout="hideToolTip()">A word</span> 

これで、5.で指定した文字の上にマウスを持っていくと吹き出しが表示されるはずです。


動作としては、4.で指定した<DIV>タグが吹き出しを構成する要素になっており、これをJavaScriptから変更して

表示させているようですね。

ちなみに、改行を入れたい場合は<br />タグを指定すれば吹き出し内で改行されます。


デザインもすっきりするので用途に応じて使ってみては如何でしょうか。