1

テキストをホバリングする際に「ツールチップ」を取得しようとしています。このツールチップは、テキストの下に配置する必要があります。ツールチップはデータベースからコンテンツを取得する必要がありますが、その部分を処理して css でスタイリングできます。ここでの唯一の問題は、マウスオーバー時に新しい div 要素を最初から作成できないことです。

私の現在のコードは既存の div 要素を使用していますが、コードはコードを配置する新しい div 要素を作成することになっています。

<script>
   function createTooltip(str)
   {
      if (str == "" || !str)
      {
         return;
      }

      if (window.XMLHttpRequest)
      {
         xmlhttp = new XMLHttpRequest();
      }
      else // code for IE5 and IE6
      {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }

      xmlhttp.onreadystatechange = function()
      {
         if (xmlhttp.readyState==4 && xmlhttp.status==200)
         {
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
         }
      }
      xmlhttp.open("GET", "tooltip.php?s="+str, true);
      xmlhttp.send();
   }

   function removeTooltip()
   {
      document.getElementById("txtHint").innerHTML = "";
   }
   </script>
   <p><br>
   <a href="" rel="35" onmouseover="createTooltip(this.rel);" onmouseout="removeTooltip();">Test</a>
   <br><br>
   <div id="txtHint"></div></p>

tooltip.php ファイルには、次の内容が含まれています。

<?php
$q = intval($_GET['s']);
echo $q;
?> 

今のところ、関数内の rel 属性を出力するだけです。ここで本当にやりたいことは、既存の div の代わりに、xml 応答を含む完全に新しい div を作成することです。したがって、この既存の div のように、このツールチップはテキストの下に表示されます。将来的にはホバー div 要素にする予定なので、すべてのコンテンツにホバーします。

お時間をいただき、ありがとうございます。

4

1 に答える 1