请真正了解javascript运行机制的朋友进来看一下,谢谢了.
下面的函数为一个控制树形菜单的展开和折叠的函数.如果在下面标记为 "测试行 "的行上点击可达到
展开/折叠的效果,但是速度一快的话就不行了,好像要点击两下才能实现展开或折叠,请问一下到底是
怎么搞的?谢谢各位了.
<script language= "javascript ">
var on_off=0;
function close_open(new_obj)
{ var obj;
var temp=0;
obj=document.getElementById(new_obj);
if(on_off==0)
{ obj.style.display= "none ";
temp=0;
}
if(on_off==1)
{ obj.style.display= "block ";
temp=1;
}
if(temp==0)
on_off=1;
else
on_off=0;
}
<table>
<tr onclick= "on_off( "ASP ") "> <td> 展开/折叠 </td> </tr> //此行标记为:测试行
<tr> <td>
<table id= "ASP "> <tr> <td> 菜单项一 </td> <td> 菜单项二 </td> </tr> </table>
</td> </tr>
</table>
------解决方案-------------------- <script language= "javascript ">
var on_off=0;
function close_open(new_obj)
{ var obj;
var temp=0;
obj=document.getElementById(new_obj);
if(on_off==0)
{ obj.style.display= "none ";
temp=0;
}
if(on_off==1)
{ obj.style.display= "block ";
temp=1;
}
if(temp==0)
on_off=1;
else
on_off=0;
}
</script>
<table>
<tr onclick= "close_open( 'ASP ') "> <td> 展开/折叠 </td> </tr> <!--此行标记为:测试行-->
<tr> <td>
<table id= "ASP "> <tr> <td> 菜单项一 </td> <td> 菜单项二 </td> </tr> </table>
</td> </tr>
</table>