0

プロジェクトでこの jQueryこのツールチップを使用しています。

問題は、非表示のツールチップ (div) に多くのものが表示される場合です。これが発生すると、div の高さが大きくなり、画面に収まらないため、画面の下に入り、div の一部が読み取れなくなります。

ポインターの右下ではなく、マウス ポインターの中央に div が表示されるようにします。

それは可能ですか?

編集:

これはjQueryコードです

   /*=========================Tooltip NOT MINE===================================*/
    //Select all anchor tag with rel set to tooltip
$('a[rel=tooltip]').mouseover(function() {

    //Grab the title attribute's value and assign it to a variable
    var tip = $(this).attr('title');    

    //Remove the title attribute's to avoid the native tooltip from the browser
    $(this).attr('title','');

    //Append the tooltip template and its value
    $(this).append('<div id="tooltip"><div class="tipHeader"></div><div class="tipBody">' + tip + '</div><div class="tipFooter"></div></div>');     

    //Show the tooltip with faceIn effect

    $('#tooltip').fadeIn('1000');
    $('#tooltip').fadeTo('100',0.9);

}).mousemove(function(e) {

    //Keep changing the X and Y axis for the tooltip, thus, the tooltip move along with the mouse
    $('#tooltip').css('top', e.pageY + 10 );
    $('#tooltip').css('left', e.pageX + 20 );

}).mouseout(function() {

    //Put back the title attribute's value
    $(this).attr('title',$('.tipBody').html());

    //Remove the appended tooltip template
    $(this).children('div#tooltip').remove();

});
     /*=========================Tooltip END===================================*/

これは、データベースからツールチップ内のすべてのテキストを取得する方法です

   echo "<p class='resultInfo'><a rel='tooltip' class='tip' 
   title='<p    class=title>Information: </p><p>
   <span class=title>Knowledge</span><span>". $resultData['Knowledge'] ."<span     class=title>Competence: </span><span>". 
   $resultData['Competence'] ."<span class=title>
   Skills: </span><span>". $resultData['Skills'] ."</span>'>"
   . $resultData["Level"] . "<span class='icon'></span></a></p>";

上で述べたように、スクリプトはうまく機能しています。唯一の問題は、エコー出力が長すぎることがあり、div ツールチップが画面の高さを超えて拡大する場合です。だから私はdivをカーソルの真ん中に押し上げたい

4

1 に答える 1

0

たくさん検索した後、私はそれを見つけたと思います

このコードを変更しました

.mousemove(function(e) {

    //Keep changing the X and Y axis for the tooltip, thus, the tooltip move along with the mouse
    $('#tooltip').css('top', e.pageY + 10 );
    $('#tooltip').css('left', e.pageX + 20 );

.mousemove(function(e) {

    //Keep changing the X and Y axis for the tooltip, thus, the tooltip move along with the mouse
    $('#tooltip').css('top', e.pageY - 100 );
    $('#tooltip').css('left', e.pageX + 20 );

後で奇妙な動作が発生するかどうかはわかりませんが、テストします。

于 2012-04-26T08:16:51.427 に答える