私のページでは、j-query の ui-tabs を使用していくつかの要素を分離しています。.mouseover と .mouseout を使用して小さなヘルプ div をポップアップし、マウス ポインターの近くに配置します。
残念ながら、pageX/pageY を使用した配置は機能しないため、手動で元に戻しています。その位置を見つける方法があるはずですよね?タブを使用しているため、どこかでオフセットを計算する必要がありますか?
これが私がそれを使用している方法です:
$(".hashelp").mouseover(function(e){
offsety = 5;
offsetx = 5; //pop-up slightly below and right of the mouse.
if($(this).attr("id")=="tablist")
{
offsety = -200;
offsetx = -50;
}
else if($(this).parent().hasClass("ui-tabs-panel"))
{
console.log("pagex: "+e.pageX+" pagey: "+e.pageY+" helpx: "+helpx+" helpy: "+helpy);
offsety = -200;
offsetx = -15;
}
if(firsttime){
$(this).find(".help").eq(0).css("top",(e.pageY+offsety));
$(this).find(".help").eq(0).css("left",(e.pageX+offsetx));
$(this).find(".help").eq(0).show();
}
}).mouseout(function(){
$(this).find(".help").eq(0).hide();
});
タブの html は次のとおりです。 $("#tabgroups").tabs() を使用して作成します。
<div id="tabgroups">
<ul id="tablist" class="hashelp">
<li><a href="#tab1">tab1</a></li>
<div class="help" style="display:none;">
please choose the right tab
</div>
</ul>
<div id="tab1">
<ul id="common" class="hashelp">
<li><button>commonchoice1<button></li>
<div class="help" style="display:none;">
Some help stuff
</div>
</div>