日期:2014-05-16  浏览次数:20339 次

js tooltip之wz_tooltip使用方法和参数备忘

1、下载库

下载 wz_tooltip.zip(网站http://www.walterzorn.com/) 并解压,按 LGPL 发布。 在梁龙的博客上下载: wz_tooltip.zip

2、将 wz_tooltip.js 连接到 HTML 文件中
复制下面的行到 BODY 节中,最好是紧跟在开标签 <body> 后面。
<script type="text/javascript" src="wz_tooltip.js"></script>
如果必要,修改路径 src="wz_tooltip.js" 为 JavaScript 文件。注意:使用下载的文件,不要强行链接我站(指 walterzorn 网站)的 wz_tooltip.js 文件。

3、在 onmouseover 事件处理程序中标明工具提示文字
每一个显示工具提示的 html 标签需要 onmouseover 和 onmouseout 属性,如下:
<a href="index.htm" onmouseover="Tip('Some text')" onmouseout="UnTip()">Homepage </a>
就这样,没有 title 属性,没有包含 DIV。你可以看到,显示的文字必须用单引号引起来,然后传递给 Tip() 函数。注意:工具提示文字中的每个单引号(撇号)必须用反斜杠转义。比如:
Tip('This text won\'t trigger a JavaScript error.');
在 onmouseout 事件处理程序中调用 UnTip() 来再次隐藏工具提示。
当然你也可以为 Tip() 和/或 UnTip() 使用不同的事件处理程序。
扩展配置

4、选择:将 HTML 元素转换到工具提示中
为了代替直接在工具提示中使用文字,你可以标识特定的 HTML 元素以将其转换到工具提示中。在某些方面这是有益的。

?你可以在工具条中拥有十分重要的东西,而一个页面的 HTML 内容(不是 JavaScript 内容)对网络搜索引擎是有益的。
? 如果在网页中放置恰当,对于禁用了 JavaScript 的用户来说,这些内容仍然是可见的。
?同样,HTML 元素也可以一直显示;比如,如果你想在不同的地方的工具提示中显示它的内容。
?这样可以轻松地定义 HTML 元素然后直接转换成工具提示中复杂的 HTML,比 JavaScript 字符串轻松多了。
要定义用 HTML 创建的工具提示,只需要通过 TipToTip() 函数把想要的 HTML 标签的 ID 传过去。示例:
<a href="index.htm" onmouseover="TagToTip('Span2')" onmouseout="UnTip()">Home page </a>
...
<span id="Span2">This is some comment<br>about my home page</span>
在这个示例中,链接上的工具提示将显示从 <span> 元素抓取的内容。注意只是包括换行标签的内部内容会被拷贝,而 SPAN 标签本身和任何它上面的版式不会被拷贝。
当页面正在读取时,Tooltip Library 自动隐藏转换为工具提示的 HTML 元素(比如:上面示例中的 <span> 元素)。要隐藏自动隐藏我,在 wz_tooltip.js 的全局工具提示配置文件中设置 TagsToTip 变量为 false(预设默认值:true)。 如果喜欢,你也可以通过设置它们的 CSS 'display' 属性为 'none' 来自行隐藏这些 HTML 元素。
另一方面的提示:特别是在 IE 中,关闭自动隐藏特性会获得更好的页面读取展现效果。


5、工具提示中的 HTML

在工具提示中使用图像,必须在 <img> 标签中标明 width 和 height 属性。以便让脚本准确测量工具提示的大小。
工具提示文字中的双引号必须以 HTML 字符实体(&quote;)的形式来写,这是因为双引号已经作为 onmouseover 事件处理程序的定义字符,并且不能被嵌套。撇号(单引号)必须用前斜杠转义,因为撇号已经作为工具提示文字的定义字符。工具提示文字中的 HTML 标签属性定义字符,你可以使用 &quot; 或 \'。比如:
正确:
<a href="index.htm" onmouseover="Tip('Text with <img src=\'pics/image.jpg\' width=\'60\'>image.')" onmouseout="UnTip()"> Homepage </a>
or
<a href="index.htm" onmouseover="Tip('Text with <img src=&quot;pics/image.jpg&quot; width=&quot;60&quot;>image.')" onmouseout="UnTip()"> Homepage </a>

错误:
<a href="index.htm" onmouseover="Tip('Text with <img src="pics/image.jpg" width="60">image.')" onmouseout="UnTip()"> Homepage </a>
6、用 CSS 类格式工具提示

用 CSS 类可以简单地转换 DIV 或 SPAN 元素中的工具提示文字。你可以把标题文字做成一样(关于如何定义工具提示标题,请参见下面的命令参考中 TITLE 命令描述)。示例:
... onmouseover="Tip('<div class=&quot;TipCls1&quot;>Text of tooltip number one</div>')" ...
... onmouseover="Tip('<span class=\'TipCls2\'>Text of tooltip number two</span>')" ...
... onmouseover="Tip('Tooltip number 3', TITLE, '<div class=\'TitleCls\'>Some Title</div>')" ...


7、通过变量或函数调用获得工具提示内容
为了代替用单引号结束字符串,Tip() 很好地接受其它地方定义的变量或调用一个函数,比如 <script> 块中或单独的 JS 文件。这与通过 Tip() 或 TagToTip() 命令是相同的(请见下面列出的命令)。因为,每次将要显示工具提示时,它的内容或格式可以动态建立。
示例:
<html>
<head>
...
<script type="text/javascript">
var txt1 = "This is the text of the first tooltip";
function TooltipTxt(n)
{
??? return "This is the text of the " + n + " tooltip";
}
</script>
</head>
<body>
<script type="text/javascript" src="wz_tooltip.js"></script>
...