[转]通js实现自定义Tooltip样式

时间:2023-01-29 12:23:39

以前经常在别的网站上看到他们的工具提示不像普通的一样,是有样式的,有的还加上了图标,一直在想它是怎么实现的。
今天研究了一下,自已写了一个这样的功能,嘿嘿
现在功能实现显示连接的title内容与连接地址
如下图所示,只要加上我写好这段代码,就可以很快实现这样的效果了。

[转]通js实现自定义Tooltip样式

JS代码:

[转]通js实现自定义Tooltip样式//  ===================================================
[转]通js实现自定义Tooltip样式//
 Tooltip V1.0
[转]通js实现自定义Tooltip样式//
 为超级连接加上样式的js
[转]通js实现自定义Tooltip样式//
 Author:Huacn Lee
[转]通js实现自定义Tooltip样式//
 Blog: Huacn.cnblogs.com
[转]通js实现自定义Tooltip样式//
 ===================================================
[转]通js实现自定义Tooltip样式
var  _BarIdName  =   " ___tooltipbar " ;
[转]通js实现自定义Tooltip样式
// 页面上调用的方法
[转]通js实现自定义Tooltip样式
function  initToolTip()
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式
{    
[转]通js实现自定义Tooltip样式    initStyle();
//注册CSS样式
[转]通js实现自定义Tooltip样式
    initTipbar();//创建tooltip显示区域
[转]通js实现自定义Tooltip样式
            
[转]通js实现自定义Tooltip样式    
var tagaArry = new Array();    
[转]通js实现自定义Tooltip样式    
var tag = null;        
[转]通js实现自定义Tooltip样式    tagaArry 
= document.getElementsByTagName("a");
[转]通js实现自定义Tooltip样式    
[转]通js实现自定义Tooltip样式    
for(var i=0;i<tagaArry.length;i++)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式    
{
[转]通js实现自定义Tooltip样式        tag 
= tagaArry[i];    
[转]通js实现自定义Tooltip样式        
//alert(tag.href);        
[转]通js实现自定义Tooltip样式
        var oldTitle = tag.title;    
[转]通js实现自定义Tooltip样式        tag.onmouseover 
= function()
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式        

[转]通js实现自定义Tooltip样式            showTipbar(
this);
[转]通js实现自定义Tooltip样式        }
;
[转]通js实现自定义Tooltip样式        
[转]通js实现自定义Tooltip样式        tag.onmouseleave 
= function()
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式        
{
[转]通js实现自定义Tooltip样式            hideTipbar(
this);    
[转]通js实现自定义Tooltip样式        }
;
[转]通js实现自定义Tooltip样式        
[转]通js实现自定义Tooltip样式        tag.onmousemove 
= function()
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式        
{            
[转]通js实现自定义Tooltip样式            setTipLocation();
[转]通js实现自定义Tooltip样式        }

[转]通js实现自定义Tooltip样式    }
        
[转]通js实现自定义Tooltip样式    
[转]通js实现自定义Tooltip样式}

[转]通js实现自定义Tooltip样式
[转]通js实现自定义Tooltip样式
// 显示tooltip
[转]通js实现自定义Tooltip样式
function  showTipbar(tag)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式
{    
[转]通js实现自定义Tooltip样式    
var tipbar = $(_BarIdName);
[转]通js实现自定义Tooltip样式    
//alert(oldTitle);
[转]通js实现自定义Tooltip样式
    tipbar.innerHTML = tag.title;
[转]通js实现自定义Tooltip样式    tag.title 
= "";    
[转]通js实现自定义Tooltip样式    tipbar.style.display 
= "";    
[转]通js实现自定义Tooltip样式}

[转]通js实现自定义Tooltip样式
[转]通js实现自定义Tooltip样式
// 隐藏tooltip
[转]通js实现自定义Tooltip样式
function  hideTipbar(tag)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式
{
[转]通js实现自定义Tooltip样式    
var tipbar = $(_BarIdName);
[转]通js实现自定义Tooltip样式    tipbar.style.display 
= "none";    
[转]通js实现自定义Tooltip样式    tag.title 
= $(_BarIdName).innerHTML;
[转]通js实现自定义Tooltip样式}

[转]通js实现自定义Tooltip样式
[转]通js实现自定义Tooltip样式
// 初始化tooltip区域
[转]通js实现自定义Tooltip样式
function  initTipbar()
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式
{        
[转]通js实现自定义Tooltip样式    
var div = document.createElement("div");    
[转]通js实现自定义Tooltip样式    div.className 
= "tooltip";
[转]通js实现自定义Tooltip样式    div.id 
= _BarIdName;
[转]通js实现自定义Tooltip样式    document.body.appendChild(div);
[转]通js实现自定义Tooltip样式    div.style.display 
= "none";
[转]通js实现自定义Tooltip样式    
//alert(div.innerHTML);
[转]通js实现自定义Tooltip样式
}

[转]通js实现自定义Tooltip样式
[转]通js实现自定义Tooltip样式
// 设置tipbar的位置
[转]通js实现自定义Tooltip样式
function  setTipLocation(e)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式
{
[转]通js实现自定义Tooltip样式    
var intX=0,intY=0;    
[转]通js实现自定义Tooltip样式    
if(e==null)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式    
{        
[转]通js实现自定义Tooltip样式        e
=window.event;        
[转]通js实现自定义Tooltip样式    }

[转]通js实现自定义Tooltip样式    
[转]通js实现自定义Tooltip样式    
if(e.pageX || e.pageY)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式    
{
[转]通js实现自定义Tooltip样式        intX
=e.pageX; intY=e.pageY;
[转]通js实现自定义Tooltip样式    }

[转]通js实现自定义Tooltip样式    
else if(e.clientX || e.clientY)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式    
{
[转]通js实现自定义Tooltip样式        
if(document.documentElement.scrollTop)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式        
{
[转]通js实现自定义Tooltip样式            intX
=e.clientX+document.documentElement.scrollLeft;
[转]通js实现自定义Tooltip样式            intY
=e.clientY+document.documentElement.scrollTop;
[转]通js实现自定义Tooltip样式        }

[转]通js实现自定义Tooltip样式        
else
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式        
{
[转]通js实现自定义Tooltip样式            intX
=e.clientX+document.body.scrollLeft;
[转]通js实现自定义Tooltip样式            intY
=e.clientY+document.body.scrollTop;
[转]通js实现自定义Tooltip样式        }

[转]通js实现自定义Tooltip样式    }

[转]通js实现自定义Tooltip样式    $(_BarIdName).style.top 
= (intY+10)+"px";
[转]通js实现自定义Tooltip样式    $(_BarIdName).style.left 
= (intX)+"px";
[转]通js实现自定义Tooltip样式}

[转]通js实现自定义Tooltip样式
[转]通js实现自定义Tooltip样式
// 注册css
[转]通js实现自定义Tooltip样式
function  initStyle()
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式
{        
[转]通js实现自定义Tooltip样式    
var linkstyle = document.createElement("link");
[转]通js实现自定义Tooltip样式    linkstyle.setAttribute(
"href","styles/tooltip.css");
[转]通js实现自定义Tooltip样式    linkstyle.setAttribute(
"rel","stylesheet");
[转]通js实现自定义Tooltip样式    linkstyle.setAttribute(
"type","text/css");        
[转]通js实现自定义Tooltip样式    linkstyle.setAttribute(
"media","screen");    
[转]通js实现自定义Tooltip样式    document.getElementsByTagName(
"head")[0].appendChild(linkstyle);
[转]通js实现自定义Tooltip样式}

[转]通js实现自定义Tooltip样式
[转]通js实现自定义Tooltip样式
function  $(re)
[转]通js实现自定义Tooltip样式[转]通js实现自定义Tooltip样式
{
[转]通js实现自定义Tooltip样式    
return document.getElementById(re);
[转]通js实现自定义Tooltip样式}

HTML页面调用:
< script  type ="text/javascript"  src ="scripts/ToolTip.js" ></ script >
< script  type ="text/javascript" > initToolTip(); </ script >

 

HTML页面调用:
通过在页面的最后加入这样一段代码,就可以实现给所有的超级连接加上自定义工具提示了。
Tooltip源代码包下载地址: http://files.cnblogs.com/huacn/ToolTip.rar
刚刚修改了一下,现在在Firefox下没有问题了,样式也修改了一下,加上了图标,另外把连接的地址显示在上面了,还改了一下css,一面在使用的时候跟其它的css发生冲突(嘿嘿,把哪个class的名称改得很长,估计不会有哪位跟我想到一起了吧)。