从JavaScript.push方法显示工具提示

时间:2014-06-29 10:16:36

标签: javascript jquery html css push

我正在观看有关创建工具提示的youtube视频(http://www.youtube.com/watch?v=gJY8YUjFd58),并且我能够将所有内容都放在一个平面的html文件中,其中包含所有内联和单独的js / css。但我无法做到的是使用JavaScript推送方法在html页面中显示相同的数据。

我使用JavaScript将HTML表格和内联CSS发送到主HTML页面(tt_hvr.html)。 CSS似乎有效但我无法将元素内的悬停文本显示出来。我发布了这些文件。有没有人有任何想法如何让悬停显示div内的文本?我已经发布了以下三个文件(tt_hvr.html,tt_hvr.js,tt_hvr1.js)。提前谢谢。

tt_hvr.html

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>

<body>
<p id='data_here'></p>

</body>
<script src='tt_hvr.js' type="text/javascript" charset="utf-8"></script>
<script src='tt_hvr1.js' type="text/javascript" charset="utf-8"></script>
<script src='http://code.jquery.com/jquery-1.9.1.js' type="text/javascript" charset="utf-8"></script>

</html>

tt_hvr.js

   var hvrinfo = [];
   hvrinfo.push("<style type='text/css'>");
   hvrinfo.push("td {color: sienna;}");

   //Testing the tooltip begin.
   hvrinfo.push("   .hvrtip0{");
   hvrinfo.push("       margin-left:auto;");
   hvrinfo.push("       margin-right:auto;");
   hvrinfo.push("       margin-top:auto;");
   hvrinfo.push("       /*width:250px; */");
   hvrinfo.push("       background-color:#ffffff;");
   hvrinfo.push("       color:#000000;");
   hvrinfo.push("       padding:auto;");
   hvrinfo.push("       text-align:left;");
   hvrinfo.push("       }");
   hvrinfo.push("   .tooltip00{");
   hvrinfo.push("       position:absolute; /*Allows it to be anywhere on the page  without interrupting any other elements on the page.*/");
   hvrinfo.push("       z-index:2;");
   hvrinfo.push("       width:auto;");
   hvrinfo.push("       padding:5px;");
   hvrinfo.push("       background-color:#ffff00;");
   hvrinfo.push("       border:2px solid #000000;");
   hvrinfo.push("       border-radius:15px; //Rounding the corners on the box.");
   hvrinfo.push("       -moz-border-radius:15px; /*Firefox*/");
   hvrinfo.push("       display:none; /*Hide from page so that it will only be shown on hover.*/");
   hvrinfo.push("       }");
   hvrinfo.push("   td.hvrtip0{");
   hvrinfo.push("       background-color:#c0c0c0;");
   hvrinfo.push("       border:2px solid #e0e0e0;");
   hvrinfo.push("   }");
   hvrinfo.push("   table,td,th");
   hvrinfo.push("   {");
   hvrinfo.push("       border:1px solid black;");
   hvrinfo.push("   }");
   hvrinfo.push("   table");
   hvrinfo.push("   {");
   hvrinfo.push("       width:50%;");
   hvrinfo.push("       border-collapse:collapse;");
   hvrinfo.push("   }");
   hvrinfo.push("   th");
   hvrinfo.push("   {");
   hvrinfo.push("       height:50px;");
   hvrinfo.push("   }");
   hvrinfo.push("   #redthis");
   hvrinfo.push("   {");
   hvrinfo.push("       color:red;");
   hvrinfo.push("   }");
   //Testing the tooltip end.

   //Pushing the table begin.
   hvrinfo.push("</style>");
   hvrinfo.push("<table border='1'><tr><th>Row1</th><th>Row2</th><th>Row3</th></tr>");
   hvrinfo.push("<tr><td class='hvrtip0'>Cell 01</td><td>Cell 02</td><td>Cell 03</td></tr>");
   hvrinfo.push("<tr><td>Cell 04</td><td>Cell 05</td><td>Cell 06</td></tr>");
   hvrinfo.push("<tr><td>Cell 07</td><td>Cell 08</td><td class='hvrtip0'>Cell 09</td></tr>");
   hvrinfo.push("<tr><td>Cell 10</td><td>Cell 11</td><td>Cell 12</td></tr>");
   hvrinfo.push("<tr><td>Cell 13</td><td>Cell 14</td><td>Cell 15</td></tr>");
   hvrinfo.push("<tr><td>Cell 16</td><td>Cell 17</td><td>Cell 18</td></tr>");
   hvrinfo.push("<tr><td>Cell 19</td><td>Cell 20</td><td>Cell 21</td></tr>");
   hvrinfo.push("<tr><td>Cell 22</td><td>Cell 23</td><td>Cell 24</td></tr>");
   hvrinfo.push("<tr><td>Cell 25</td><td>Cell 26</td><td>Cell 27</td></tr>");
   hvrinfo.push("<tr><td>Cell 28</td><td>Cell 29</td><td>Cell 30</td></tr></table>");
   //Pushing the table end.

   //Information for the tooltips begin.
   hvrinfo.push("   <div class='tooltip00'>");
   hvrinfo.push("       1. RT conducts patient evaluation following <b id='redthis'>Eval & Treat Algorithm</b>.<br />");
   hvrinfo.push("       2. Level of Patients Asthma Control and current medications determined by RT.<br />");
   hvrinfo.push("       3. If Indicated, follow <b id='redthis'>Aerosolized medication Algorithm</b>.<br />");
   hvrinfo.push("       4. Plan constructed for therapy Pre-Op / Post-Op. If poorly controlled, advised or adminster step up in therapy (glucocorticoids).");
   hvrinfo.push("   </div>");
   //Information for the tooltips end.

   var hvrjoin = hvrinfo.join("");
   document.getElementById("data_here").innerHTML = hvrjoin;

tt_hvr1.js

 $(document).ready(function(){
    $(".hvrtip0").hover(function(){//Hover on the class. This works on all classes in the document.
        //mouse enters
            $(".tooltip00").css("display","block");
    },function(){
        //mouse leaves
            $(".tooltip00").css("display","block");
    });

    $(document).mousemove(function(event){
        var mx = event.pageX+15;
        var my = event.pageY+15;
        $(".tooltip00").css("left",mx+"px").css("top",my+"px");
    });
 });

2 个答案:

答案 0 :(得分:1)

交换这些线:

<script src='http://code.jquery.com/jquery-1.9.1.js' type="text/javascript" charset="utf-8"></script>
<script src='tt_hvr1.js' type="text/javascript" charset="utf-8"></script>

您需要在使用它之前加载jQuery。例如。注意这个小提琴是如何工作的:http://jsfiddle.net/uPASm/而且这个小提琴没有:http://jsfiddle.net/uPASm/1/

答案 1 :(得分:0)

您可以使用.html()功能通过在悬停功能中添加以下内容来替换工具提示的内容

 $(".tooltip00").html(this.innerHTML);

您还需要更改

 $(".tooltip00").css("display", "block");

 $(".tooltip00").css("display", "none");

隐藏工具提示。

Demo