请帮我看看这段JAVASCRIPT程序错在哪?提示找不到对象,请帮帮忙吧! (100分)

  • 主题发起人 主题发起人 修缘
  • 开始时间 开始时间

修缘

Unregistered / Unconfirmed
GUEST, unregistred user!
var MenuName=new Array()
MenuName[0]="memu1"
MenuName[1]="menu2"
MenuName[2]="menu3"
MenuName[3]="menu4"
MenuName[4]="menu5"
MenuName[5]="menu6"
MenuName[6]="menu11"
MenuName[7]="menu12"
MenuName[8]="menu13"
MenuName[9]="menu14"
MenuName[10]="menu15"
MenuName[11]="menu16"
MenuName[12]="menu21"
MenuName[13]="menu22"
MenuName[14]="menu23"
MenuName[15]="menu24"
MenuName[16]="menu25"
MenuName[17]="menu26"
//是不是这儿赋值有问题???这些名称在页面上都有...
function HideDropMenu(MenuIdX)
{
if (MenuIdX==5)
{
for(j=MenuIdX;j<17;j++)
{ if (j!=11) eval('document.form1.'+MenuName[j]+'.style.display="none"')}
do
cument.form1.MenuName[11].style.display=""
do
cument.form1.MenuName[17].style.display=""
}
if (MenuIdX==11)
{
for(j=0;j<5;j++)
{ eval('document.form1.'+MenuName[j]+'.style.display="none"')}
for(j=12;j<17;j++)
{ eval('document.form1.'+MenuName[j]+'.style.display="none"')}
do
cument.form1.MenuName[5].style.display=""
do
cument.form1.MenuName[17].style.display=""
}
if (MenuIdX==17)
{
for(j=0;j<11;j++)
{ if (j!=5) eval('document.form1.'+MenuName[j]+'.style.display="none"')}
do
cument.form1.MenuName[5].style.display=""
do
cument.form1.MenuName[11].style.display=""
}
if (MenuIdX==-1)
{
for(j:=0;j<17;j++)
{ if (j!=5 &amp;&amp;
j!=11) eval('document.form1.'+MenuName[j]+'.style.display="none"')}
do
cument.form1.MenuName[5].style.display=""
do
cument.form1.MenuName[11].style.display=""
do
cument.form1.MenuName[17].style.display=""
}
}
function ShowDropMenu(MenuIdY) //5商务助理(0-5)、11专家基地(6-11)、17发布中心(12-17)
{
if (MenuIdY==5)
{
for(i=0;i<MenuIdY;i++)
{eval('document.form1.'+MenuName+'.style.display=""')}
}
if (MenuIdY==11)
{
for(i=6;i<MenuIdY;i++)
{eval('document.form1.'+MenuName+'.style.display=""')}
}
if (MenuIdY==17)
{
for(i=12;i<MenuIdY;i++)
{eval('document.form1.'+MenuName+'.style.display=""')}
}
HideDropMenu(MenuIdY) //hide other menu.
setTimeout('HideDropMenu(-1)',500)
}
引用格式:onmouseout="HideDropMenu(5);" onmouseover="ShowDropMenu(5);"
 
提示你哪行出错呀?
 
就是在引用的地方出错啊 说找不到对象,
 
>> MenuName[0]="memu1"
应该为:MenuName[0]="menu1"
 
>> MenuName[0]="memu1"
是不是笔误?
>> onmouseout="HideDropMenu(5);" onmouseover="ShowDropMenu(5);"
引用时初值是5
是显示页面时出错还是……?
 
<html>
<head>
<title>demo</title>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
</head>
<script language="Javascript">
var MenuName=new Array
function demoshow(n)
{
MenuName[0]="menu1"
MenuName[1]="menu2"
for(i=0;i<n;i++)
{
eval(MenuName+'.style.display=""')
}
if (n==-1)
{
for(i=0;i<2;i++)
{
eval(MenuName+'.style.display="none"')
}
}
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="">
<table width="453" border="0" align="center">
<tr>
<td bgcolor="#999999">
<div align="center">
<font color="#0000FF">
<a href="#" onmouseout="demoshow(-1);" onmouseover="demoshow(2);">demo</a>
</font></div>
</td>
</tr>
<tr>
<td id=menu1 style="display:none">1</td>
</tr>
<tr>
<td id=menu2 style="display:none">2</td>
</tr>
</table>
</form>
</body>
</html>
试试这个看看,也许对你有帮助!!!
 
BTW:
你的错误 可能是变量定义上的问题
我试了你的代码 调用时数组的值好像为空耶???
 
帮你改好了:
var MenuName=new Array()
function HideDropMenu(MenuIdX,num)
{
if (num==5)
{
for(j=0;j<MenuIdX.length;j++)
{
if (j!=11&amp;&amp;j>4) eval(MenuIdX[j]+'.style.display="none"')
else
if (j==11||j==17) eval(MenuIdX[j]+'.style.display=""')
}
}
if (num==11)
{
for(j=0;j<MenuIdX.length;j++)
{
if ((j<5)||(j>10&amp;&amp;j<17)) eval(MenuIdX[j]+'.style.display="none"')
else
if(j==5||j==17) eval(MenuIdX[j]+'.style.display=""')
}
}
if (num==17)
{
for(j=0;j<MenuIdX.length;j++)
{
if ((j!=5&amp;&amp;j<11)||(j==17)) eval(MenuIdX[j]+'.style.display="none"')
else
if(j==5||j==11)eval(MenuIdX[j]+'.style.display=""')
}
}
if (num==-1)
{
for(j=0;j<MenuIdX.length;j++)
{
if (j!=5 &amp;&amp;
j!=11 &amp;&amp;
j!=17) eval(MenuIdX[j]+'.style.display="none"')
else
eval(MenuIdX[j]+'.style.display=""')
}
}
}
function ShowDropMenu(MenuIdY) //5商务助理(0-5)、11专家基地(6-11)、17发布中心(12-17)
{
MenuName[0]="menu1"
MenuName[1]="menu2"
MenuName[2]="menu3"
MenuName[3]="menu4"
MenuName[4]="menu5"
MenuName[5]="menu6"
MenuName[6]="menu11"
MenuName[7]="menu12"
MenuName[8]="menu13"
MenuName[9]="menu14"
MenuName[10]="menu15"
MenuName[11]="menu16"
MenuName[12]="menu21"
MenuName[13]="menu22"
MenuName[14]="menu23"
MenuName[15]="menu24"
MenuName[16]="menu25"
MenuName[17]="menu26"
if (MenuIdY==5)
{
for(i=0;i<MenuIdY;i++)
{eval(MenuName+'.style.display=""')}
}
if (MenuIdY==11)
{
for(i=6;i<MenuIdY;i++)
{eval(MenuName+'.style.display=""')}
}
if (MenuIdY==17)
{
for(i=0;i<MenuIdY;i++)
{eval(MenuName+'.style.display=""')}
}
HideDropMenu(MenuName,MenuIdY) //hide other menu.
//setTimeout('HideDropMenu(MenuName,-1)',1000)
}
引用格式: onmouseover="ShowDropMenu(5);"
 
多人接受答案了。
 
后退
顶部