支持HTML的自定义提示

<script language="JavaScript">
//***********默认设置定义.*********************
var tPopWait=50;//停留tWait豪秒后显示提示。
var tPopShow=6000;//显示tShow豪秒后关闭提示
var showPopStep=20;
var popOpacity=95;
var tfontcolor="#000000";
var tbgcolor="#ffffe1";
var tbordercolor="#666666";

//***************内部变量定义*****************
var sPop=null,curShow=null,tFadeOut=null,tFadeIn=null,tFadeWaiting=null;

document.write("<style type='text/css'id='defaultPopStyle'>");
document.write(".cPopText {  background-color: " + tbgcolor + ";color:" + tfontcolor + "; border: 1px " + tbordercolor + " solid;font-color: font-size: 12px; padding-right: 4px; padding-left: 4px; height: 20px; padding-top: 2px; padding-bottom: 2px; filter: Alpha(Opacity=0)}");
document.write("</style>");
document.write("<div id='MyaltLayer' style='position:absolute;z-index:1000;' class='cPopText'></div>");

function ShowMyalt()
{
  var o=event.srcElement;
  MouseX=event.x;
  MouseY=event.y;
  if(o.alt!=null && o.alt!=""){o.dypop=o.alt;o.alt=""};
  //if(o.title!=null && o.title!=""){o.dypop=o.title;o.title=""};
  if(o.dypop!=sPop)
  {
    sPop=o.dypop;
    clearTimeout(curShow);
    clearTimeout(tFadeOut);
    clearTimeout(tFadeIn);
    clearTimeout(tFadeWaiting); 
    if(sPop==null || sPop=="")
    {
      MyaltLayer.innerHTML="";
      MyaltLayer.style.filter="Alpha()";
      MyaltLayer.filters.Alpha.opacity=0; 
    }
    else
    {
      if(o.dyclass!=null) popStyle=o.dyclass
      else popStyle="cPopText";
      curShow=setTimeout("showIt()",tPopWait);
    }
  }
}

function showIt()
{
  MyaltLayer.className=popStyle;
  MyaltLayer.innerHTML=sPop;
  popWidth=MyaltLayer.clientWidth;
  popHeight=MyaltLayer.clientHeight;
  if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24
    else popLeftAdjust=0;
  if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24
    else popTopAdjust=0;
  MyaltLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;
  MyaltLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;
  MyaltLayer.style.filter="Alpha(Opacity=0)";
  fadeOut();
}

function fadeOut(){
  if(MyaltLayer.filters.Alpha.opacity<popOpacity)
  {
    MyaltLayer.filters.Alpha.opacity+=showPopStep;
    tFadeOut=setTimeout("fadeOut()",1);
  }
  else
  {
    MyaltLayer.filters.Alpha.opacity=popOpacity;
    tFadeWaiting=setTimeout("fadeIn()",tPopShow);
  }
}

function fadeIn()
{
  if(MyaltLayer.filters.Alpha.opacity>0)
  {
    MyaltLayer.filters.Alpha.opacity-=1;
    tFadeIn=setTimeout("fadeIn()",1);
  }
}

document.onmouseover=ShowMyalt;
</script>

使用示例:

<a href="#" alt="<font color=red>this is a test</font>">test</a>

posted @ 2005-04-07 17:17  魔豆  阅读(556)  评论(0编辑  收藏  举报