当前位置导航:炫浪网>>网络学院>>网页制作>>JavaScript教程

制作类似于Title、ALT的提示效果

在网页中,有时我们将鼠标移到图片上,或者文字链接处,会出现文字型的提示信息。一般制作这样的效果极为简单,只需在图片代码中加入<Alt="文字提示信息">或者在文字链接代码中加入<Title="文字提示信息">。仔细观察一下,感觉出现的信息总有时间上的停顿。如何制作类似于网页教学网首页文字超链接的提示信息的效果呢?

制作方法一:加入JS代码
1、在页面的<head></head>中加入JS代码:
<script language="javascript">
var tipTimer;
function locateObject(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=locateObject(n,d.layers[i].document); return x;
}

function hideTooltip(object)
{
if (document.all)
{
locateObject(object).style.visibility="hidden"
locateObject(object).style.left = 1;
locateObject(object).style.top = 1;
return false
}
else if (document.layers)
{
locateObject(object).visibility="hide"
locateObject(object).left = 1;
locateObject(object).top = 1;
return false
}
else
return true
}

function showTooltip(object,e, tipContent, backcolor, bordercolor, textcolor, displaytime)
{
window.clearTimeout(tipTimer)

if (document.all)
{
locateObject(object).style.top=document.body.scrollTop+event.clientY+20

locateObject(object).innerHTML='<table style="font-family: Verdana,Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; border: '+bordercolor+'; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; background-color: '+backcolor+'" width="10" border="0" cellspacing="1" cellpadding="1"><tr><td nowrap><font style="font-family: Verdana,Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; color: '+textcolor+'">'+unescape(tipContent)+'</font></td></tr></table> '

if ((e.x + locateObject(object).clientWidth) > (document.body.clientWidth + document.body.scrollLeft))
{
locateObject(object).style.left = (document.body.clientWidth + document.body.scrollLeft) - locateObject(object).clientWidth-10;
}
else
{
locateObject(object).style.left=document.body.scrollLeft+event.clientX
}
locateObject(object).style.visibility="visible"
tipTimer=window.setTimeout("hideTooltip('"+object+"')", displaytime);
return true;
}
else if (document.layers)
{
locateObject(object).document.write('<table width="10" border="0" cellspacing="1" cellpadding="1"><tr bgcolor="'+bordercolor+'"><td><table width="10" border="0" cellspacing="0" cellpadding="2"><tr bgcolor="'+backcolor+'"><td nowrap><font style="font-family: Verdana,Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; color: '+textcolor+'">'+unescape(tipContent)+'</font></td></tr></table></td></tr></table>')
locateObject(object).document.close()
locateObject(object).top=e.y+20

if ((e.x + locateObject(object).clip.width) > (window.pageXOffset + window.innerWidth))
{
locateObject(object).left = window.innerWidth - locateObject(object).clip.width-10;
}
else
{
locateObject(object).left=e.x;
}
locateObject(object).visibility="show"
tipTimer=window.setTimeout("hideTooltip('"+object+"')", displaytime);
return true;
}
else
{
return true;
}
}
</script>
注意红色字体部分,可以对出现的提示信息进行字体的格式化与提示框的控制,不包括对文字颜色的修改。
2、在<body></body>中插入代码:
<div id="dHTMLToolTip" style="position: absolute; visibility: hidden; width:10; height: 10; z-index: 1000; left: 0; top: 0"></div>
3、在文字超链接处加入代码:
onMouseOver="showTooltip('dHTMLToolTip',event, '文字提示信息部分', '#fffff2','#000000','#000000','20000')" onMouseOut="hideTooltip('dHTMLToolTip')"
红色字体部分为你需加注的提示信息内容;
注意加粗部分:
#fffff2为弹出信息框的背景色;
#000000为弹出信息框的边框颜色;
#000000为提示信息的文字颜色;
20000为控制的显示时间。

制作方法二:使用dHTML Tooltip插件
如果感觉使用代码繁烦的话,可以借助DW中的dHTML Tooltip插件,制作就更为方便快捷了。下载后,使用插件管理器安装,然后选择对象,在行为窗口选择Tooltip就可以制作出效果。我们这里就不进行详细的介绍了,使用过程中有什么疑问可在我们留言本进行咨询!
相关内容
赞助商链接