如何不闪

wolfeng 2005-04-13 11:52:05
先贴代码:
<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><iframe src="javascript:false" style="position:absolute; visibility:inherit; top:0px; left:0px; width:100px; height:200px; z-index:-1; filter=progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);"></iframe>'

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>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<div id="dHTMLToolTip" style="position: absolute; visibility: hidden; width:10; height: 10; z-index: 1000; left: 0; top: 0">
</div>



<select name="laiyuan" id="select5" style="width:70" onMousemove="showTooltip('dHTMLToolTip',event, this.options[this.selectedIndex].value, '#fffff2','#000000','#000000','2000')" onMouseOut="hideTooltip('dHTMLToolTip')">
<option value="test" selected>test 1</option>

<option value="test2" >test2</option>

<option value="test3" >test3</option>

<option value="test4" >test4</option>
</select><br>
<div style="position: absolute; width:10; height: 10; z-index: -1; left: 0; top: 0">

<select name="laiyuan" id="select5" style="width:70" onMousemove="showTooltip('dHTMLToolTip',event, this.options[this.selectedIndex].value, '#fffff2','#000000','#000000','20000000')" onMouseOut="hideTooltip('dHTMLToolTip')">
<option value="test" selected>test 1</option>

<option value="test2" >test2</option>

<option value="test3" >test3</option>

<option value="test4" >test4</option>

</select>
</div>
</body>
</html>


我要给select的选择项调用浮动层来实现注释,但是由于select的优先级高,所以层的文字总是被覆盖,后来通过在层里加一个iframe来提高层的优先级,现在层可以不被select覆盖了,但是接着的问题是由于不停调用iframe 当鼠标指向select时,鼠标老闪,下面的状态栏也在不停掉iframe,我知道不闪的才是健康的,请各位达人指路
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
onlytiancai 2005-04-13
  • 打赏
  • 举报
回复
POP

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧