クリッカプルマップ対応Jqueryのみでツールチップ

·

ツールチップのJavascriptは数多くあるが、クリッカプルマップに対応したものが以外に少ない。
下のサンプルでは、他のJavascriptファイルを必要としないシンプルなTooltipでありながら以下の機能を備える。
  • 表示時のフェードインおよび速度の設定が可能。
  • 表示時の半透明(透明度)が設定可能。
  • マウス座標に対する表示位置が設定可能。
  • 画像を使わずツールチップの角丸が設定可能。
  • 文字サイズフォントの設定が自由。
スクリプトは以下の通り。
Jquery他、ファイルのダウンロードは不要。使いたいページの<body>内にスクリプトをそのまま丸ごとコピーするだけで簡単に実装できる。
【スクリプト】
JAVASCRIPT
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript" >
$(function(){
$('area.tooltip').mouseover(function(e){
$('div#' + e.target.id).css({opacity:0, display:'block'});
$('div#' + e.target.id).fadeTo('normal', 0.5);
});
$('area.tooltip').mousemove(function(e){
$('div#' + e.target.id).css('left', e.pageX + 20);
$('div#' + e.target.id).css('top', e.pageY - 50);
});
$('area.tooltip').mouseout(function(e){
$('div#' + e.target.id).css({display:'none'});
});
});
</script>

CSS

<style>
.tipText {
position: absolute;
padding: 10px;
background-color: #ffffff;
border:1px solid #ccc;
border-width:0px 1px 1px 0px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
.tipText b {
font-size:20px;
}
</style>

HTML

<img src="bgt.gif" width="234" height="60" border="0" usemap="#Map" style="margin-left: 0px;" />

<map name="Map">
  <area shape="circle" coords="208,28,20" href="javascript:void(0);" onClick="copen(1);" id="tip1" class="tooltip" />
  <area shape="rect" coords="17,28,166,50" href="javascript:void(0);" onClick="copen(2);" id="tip2" class="tooltip" />
</map>

<div id="tip1" class="tipText" style="display:none;"><b>王様</b><br />(さらに容量が拡大されました)</div>
<div id="tip2" class="tipText" style="display:none;"><b>ハッスルサーバー</b><br />(おすすめのサーバーです)</div>

【設定(カスタマイズ)】

フェードイン・透明度
$(‘div#’ + e.target.id).fadeTo(‘normal’, 0.5);
速度は、”fast”、”normal”、”slow”、または完了までの時間をミリ秒
透明度は、0から1。薄いと読み辛くなるから0.5以上が好ましい
表示位置
$(‘div#’ + e.target.id).css(‘left’, e.pageX + 20);
$(‘div#’ + e.target.id).css(‘top’, e.pageY – 50);
上記ではマウスの位置右側20ピクセル離れた位置、上に50ピクセル上がった位置が基点となる。
背景色
background-color: #ffffff;
背景色を濃くした場合は文字色を白にするといい(color: #ffffff;を追加)
border:1px solid #ccc;
border-width:0px 1px 1px 0px;
この指定で右側と下側に1ピクセルの線を設定している。
角丸
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
古いブラウザは四角のまま
フォントサイズ
font-size:20px;
<b>以外の部分にサイズを指定したい場合はtipText内に指定する
.tipText {
font-size:14px;
}

【指定方法】

クリッカプルマップ
  <area shape=”circle” coords=”208,28,20″ href=”javascript:void(0);” onClick=”copen(1);” id=”tip1″ class=”tooltip” />
クリッカプルマップのhrefはjavascript:void(0);とする
onClick=”copen(1);”
カッコ内の数字1から順に振っていく
id=”tip1″の数字も合わせる
この数字が表示される文字のIDに対応する
 class=”tooltip”必須
ツールチップ
<div id=”tip1″ class=”tipText” style=”display:none;”><b>王様</b><br />(さらに容量が拡大されました)</div>
id=”tip1″の数字がクリッカプルマップに設定したIDの数字に対応する
class=”tipText”必須
 style=”display:none;”で非表示にしておく