下面是动态菜单的代码;不知道哪里出一错?

请大哥们帮个忙:


<div id="div0" style="position:absolute; left:12px; top:151px; width:116px; height:104px; z-index:1" > 

<table width="100%" border="0" height="100%" cellpadding="0">
<tr> 
<td bgcolor="#FFFFCC" height="17">
<div align="left"><a href="#" onclick="moveto(1)">主菜单1</a></div></td></tr>
<tr><td bgcolor="#99FFFF"> 
<div align="left"><a href="#" onclick="moveto(2)">主菜单2</a></div></td></tr>
<tr><td bgcolor="#99CCFF"> 
<div align="left"><a href="#" onclick="moveto(3)">主菜单3</a></div></td></tr>
<tr> <td bgcolor="#CCFFFF">

</table>

</div>







<div id="div1" style="position:absolute; left:-114px; top:171px; width:114px; height:107px; z-index:2; background: #FFFFCC; layer-background-color: #FFFFCC; border: 3px none #000000"> 
<div align="right">
<a href="#">子菜单1</a><br>
<a href="#">子菜单2</a><br>
<a href="#">子菜单3</a><br>
<a href="#">子菜单4</a><br>
<a href="#">子菜单5</a><br>
</div>
</div> 


<div id="div2" style="position:absolute; left:-114px; top:200px; width:114px; height:107px; z-index:2; background: #FFFFCC; layer-background-color: #FFFFCC; border: 3px none #000000"> 
<div align="right">
<a href="#">子菜单1</a><br>
<a href="#">子菜单2</a><br>
<a href="#">子菜单3</a><br>
<a href="#">子菜单4</a><br>
<a href="#">子菜单5</a><br>
</div>
</div>

<div id="div3" style="position:absolute; left:-114px; top:240px; width:114px; height:107px; z-index:2; background: #FFFFCC; layer-background-color: #FFFFCC; border: 3px none #000000"> 
<div align="right">
<a href="#">子菜单1</a><br>
<a href="#">子菜单2</a><br>
<a href="#">子菜单3</a><br>
<a href="#">子菜单4</a><br>
<a href="#">子菜单5</a><br>
</div>
</div>



在高分加! 

只是自己写的好难看得到哪里出错!!  我这里又没有脚本调试的,所以.....





<script language="Javascript">
<!--
var m=3; //定义了有多少个主菜单!
var can=new Array(); //声明一个数组,存放是否拉出子菜单的控制代码
var newdivleft=new Array() //声明一个数组,存放各图层新的“left”参数值
var olddivleft=new Array() //声明一个数组,存放初始的各图层“left”参数值
var margeleft=parseInt(document.all.div0.style.left); //声明存放拉出子菜单的左边距变量
for (i=0;i<=m;i++){ //获取上面声明的数组的初始值
objname=eval("document.all.div"+(i)+".style");
newdivleft[i]=parseInt(objname.left);
olddivleft[i]=newdivleft[i];
can[i]=0;}



 


function movein(x){
 { //开始拉出子菜单
newdivleft[x]+=6; //设置每次拉出6个像素
if (newdivleft[x]<(margeleft+6))
      { //如果没有拉到位,可继续拉。
        thisdiv=eval("document.all.div"+(x)+".style"); 
        thisdiv.left=newdivleft[x]; //拉一次子菜单
        t1=setTimeout("movein(x)",10); //每10毫秒拉动一次子菜单
      }
else
      {  thisdiv.left=olddivleft[0]; 
         clearTimeout(t1);} //如果子菜单已拉到位,则清除定时函数,停止拉动子菜单。
      }
}



function moveout(x)
{
   if (can[x]==0)
        { //开始推入子菜单,方法与拉出子菜单时相同,只是方向相反。
          newdivleft[x]-=6;
             if (newdivleft[x]>(olddivleft[x]-6))
                {
                     thisdiv=eval("document.all.div"+(x)+".style");
                     thisdiv.left=newdivleft[x];
                     t2=setTimeout("moveout(x)",10)
                } 
            else
                {clearTimeout(t2);}
               
         }
}


function moveto(x){
if (can[x]==0) 
   {
   
    for(i=1;i<=3;i++)
        { if (can[i]==1) moveout(i); }
     can[x]=1 ;
    }
else
  {
  can[x]=0;
  movein(x);  
  }
 


-->
</script>