动态生成下拉菜单,老是容易消失掉,请问有什么好办法?
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>