动态生成下拉菜单,老是容易消失掉,请问有什么好办法?

arcus 2002-11-28 01:21:53
代码如下,是从网上拷来的:
<SCRIPT LANGUAGE="JavaScript" >
¡¡¡¡var IsDroped =false;
¡¡¡¡function mouseout()
¡¡¡¡{
¡¡¡¡ window.event.srcElement.style.color = 'white';//Êó±êÒÆ¿ªÊ±ÖÃΪ°×É«
¡¡¡¡}
¡¡¡¡function mouseover()
¡¡¡¡{
¡¡¡¡ window.event.srcElement.style.color = 'red';//Êó±ê½øÈëʱÖÃΪºìÉ«//Êó±ê½øÈëʱÖÃΪºìÉ«
¡¡¡¡}
¡¡¡¡function doMenu(MenuID)
¡¡¡¡{
¡¡¡¡ var CurMenu = document.all(MenuID);
¡¡¡¡ //Ϊ±ÜÃâÉÁ˸,Èç¹ûÏÂÀ­²Ëµ¥ÒѾ­ÏÔʾÔò²»ÖØ»­.
¡¡¡¡ if (IsDroped==true)
¡¡¡¡ {
¡¡¡¡ window.event.cancelBubble = true;
¡¡¡¡ return false;
¡¡¡¡ }
¡¡¡¡ window.event.cancelBubble = true;
¡¡¡¡ TempMenu = CurMenu;
¡¡¡¡ //¼ÆËãÏÂÀ­²Ëµ¥µÄλÖÃ
¡¡¡¡ x = window.event.srcElement.offsetLeft + window.event.srcElement.offsetParent.offsetLeft;
¡¡¡¡ x2 = x + window.event.srcElement.offsetWidth;
¡¡¡¡ y = pad.offsetHeight+60;
¡¡¡¡ CurMenu.style.top = y;
¡¡¡¡ CurMenu.style.left = x;
¡¡¡¡ CurMenu.style.clip = "rect(0 0 0 0)";
¡¡ CurMenu.style.display = "block";
¡¡¡¡ //ÑÓʱ2ºÁÃëºóÔÙÏÔʾ²Ëµ¥,±£Ö¤ToolbarMenu.offsetHeightÓÐÖµ,±ÜÃâ´ÓÖ÷²Ëµ¥ÒÆÏòÏÂÀ­²Ëµ¥Ê±ÏÂÀ­²Ëµ¥Ïûʧ.
¡¡¡¡ window.setTimeout("showMenu()", 2);
¡¡¡¡ return true;
¡¡¡¡}
¡¡¡¡function showMenu()
¡¡¡¡{
¡¡¡¡ y2 = y + TempMenu.offsetHeight;
¡¡ TempMenu.style.clip = "rect(auto auto auto auto)";
¡¡¡¡ IsDroped =true;//ÏÂÀ­²Ëµ¥ÒѾ­ÏÔʾ
¡¡¡¡}
¡¡¡¡function hideMenu()
¡¡¡¡{
¡¡¡¡ //Èç¹ûÔÚÏÂÀ­²Ëµ¥µÄ·¶Î§Ö®ÄÚÒƶ¯Ôò²»Òþ²Ø.
¡¡¡¡ cY = event.clientY + document.body.scrollTop;
¡¡¡¡ if (cY>=y && cY<y2 && event.clientX >= (x+5) && event.clientX <= x2 ||
¡¡¡¡ cY>1 && cY<y && event.clientX >= (x+5) && event.clientX <= x2-10)
¡¡¡¡ { window.event.cancelBubble = true; return;}
¡¡¡¡ //Òþ²Ø
¡¡¡¡ TempMenu.style.display = "none";
¡¡¡¡ window.event.cancelBubble = true;
¡¡¡¡ IsDroped =false;
¡¡¡¡}
</SCRIPT>
...全文
438 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
realsong 2002-11-28
  • 打赏
  • 举报
回复
楼上的,真的是太经典啦!这都给你发现了!
rambostar 2002-11-28
  • 打赏
  • 举报
回复
给你一个经典站点,解决了问题给分给我
http://webfx.eae.net
arcus 2002-11-28
  • 打赏
  • 举报
回复
怎么没有人答?自己up一下
arcus 2002-11-28
  • 打赏
  • 举报
回复
不好意思,重贴
<SCRPT LANGUAGE="JavaScrpt" >
var sDroped =false;
functon mouseout()
{
wndow.event.srcElement.style.color = 'whte';//Êó±êÒÆ¿ªÊ±ÖÃΪ°×É«
}
functon mouseover()
{
wndow.event.srcElement.style.color = 'red';//Êó±ê½øÈëʱÖÃΪºìÉ«//Êó±ê½øÈëʱÖÃΪºìÉ«
}
functon doMenu(MenuD)
{
var CurMenu = document.all(MenuD);
//Ϊ±ÜÃâÉÁ˸,Èç¹ûÏÂÀ­²Ëµ¥ÒѾ­ÏÔʾÔò²»ÖØ»­.
f (sDroped==true)
{
wndow.event.cancelBubble = true;
return false;
}
wndow.event.cancelBubble = true;
TempMenu = CurMenu;
//¼ÆËãÏÂÀ­²Ëµ¥µÄλÖÃ
x = wndow.event.srcElement.offsetLeft + wndow.event.srcElement.offsetParent.offsetLeft;
x2 = x + wndow.event.srcElement.offsetWdth;
y = pad.offsetHeght+60;
CurMenu.style.top = y;
CurMenu.style.left = x;
CurMenu.style.clp = "rect(0 0 0 0)";
CurMenu.style.dsplay = "block";
//ÑÓʱ2ºÁÃëºóÔÙÏÔʾ²Ëµ¥,±£Ö¤ToolbarMenu.offsetHeghtÓÐÖµ,±ÜÃâ´ÓÖ÷²Ëµ¥ÒÆÏòÏÂÀ­²Ëµ¥Ê±ÏÂÀ­²Ëµ¥

Ïûʧ.
wndow.setTmeout("showMenu()", 2);
return true;
}
functon showMenu()
{
y2 = y + TempMenu.offsetHeght;
TempMenu.style.clp = "rect(auto auto auto auto)";
sDroped =true;//ÏÂÀ­²Ëµ¥ÒѾ­ÏÔʾ
}
functon hdeMenu()
{
//Èç¹ûÔÚÏÂÀ­²Ëµ¥µÄ·¶Î§Ö®ÄÚÒƶ¯Ôò²»Òþ²Ø.
cY = event.clentY + document.body.scrollTop;
f (cY>=y && cY<y2 && event.clentX >= (x+5) && event.clentX <= x2 ||
cY>1 && cY<y && event.clentX >= (x+5) && event.clentX <= x2-10)
{ wndow.event.cancelBubble = true; return;}
//Òþ²Ø
TempMenu.style.dsplay = "none";
wndow.event.cancelBubble = true;
sDroped =false;
}
</SCRPT>

87,776

社区成员

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

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