[http://jsfiddle.net/RunLC/1/] にフィドルを含め、いくつかの必要な調整を行いました。
私は独自のツールチップを作成しており、それをほとんど機能させることができます。
実際、最初は意図したとおりに機能し、その後のクリックでは奇妙な動作をします。
2回目のクリックでツールチップが右下隅に配置され、4回目のクリックでツールチップが何らかの形で消えます。5回目のクリックで元の場所に戻り、その後、クリックするたびにコーナーと元の場所に前後に移動します。
私が探している動作は、トリガーのいずれかでクリックするたびに、コールバックを作成し、マウスアウトで非表示にして、目的の場所にツールチップを表示することです。一度に表示されるツールチップは 1 つだけです。
これはスクリプトです:
<script>
$(document).ready(function(){
$(".tool").click(function(){
var tool = $(this).attr("value");
var offset = $(this).offset();
var tool_height = $("#tooltip_box").height();
var tip_top = offset.top - tool_height + 20;
var tip_left = offset.left +100;
$.ajax({
type: "POST",
url: "tooltip.php",
dataType:"html",
data: "tool="+tool,
success: function(data){
$("#tooltip_box").html(data);
$("#tooltip_box").offset({ top: tip_top, left: tip_left });
//show tool tips
$('#tooltip_box').show();
$('.tool').mouseout(function () {
$("#tooltip_box").hide();
});
},
});
});
});
</script>
トリガーの例を次に示します。
<span class="z2">Safety items(qty)
<a href="#"><img id="tip1" src="img/i.png" class="tool" value="1000" title=""/></a>
</span>
<span class="z4">Performance
<a href="#"><img id="tip2" src="img/i.png" class="tool" value="1001" title=""/></a>
</span>
ツールチップ自体:
<div id="tooltip_box"></div>