请真正了解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>  
------解决方案--------------------1.首先你给的代码有问题,不知道你自己试过没有 
 2.你点击的时候,页面是否已经完成加载完成了?
------解决方案--------------------2.你点击的时候,页面是否已经加载完了?
------解决方案-------------------- <html>  
  <head>  
  <title> dd </title>    
  <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>  
  </head>  
  <body>  
  <table>  
  <tr onclick= "close_open( 'ASP ') ">  <td> 展开/折叠 </td>  </tr>  
  <tr>  <td>  
 	 <table id= "ASP ">  <tr>  <td> 菜单项一 </td>  <td> 菜单项二 </td>  </tr>  </table>  
  </td>  </tr>  </table>  
  </body>  
  </html>  
------解决方案--------------------我没仔细体会你的代码 不过给我的第一感觉是:很可能你的代码中有重复置1或者置0的情况。   
 也就是说on_off这样的tag可能在你连续两次点击的情况下处于同一状态(1或0),你可以alert on_off试试~~   
 待会有时间我帮你测试一下^_^
------解决方案--------------------你试一下下面这个代码,目前我已经明白你的意思了,但现在我也不明白其中的原因,从页面中的反应来看,是两次的间隔太短,并没有触发JS的函数.     
  <html>  
  <head>  
  <title> dd </title>    
  <script language= "javascript ">  
 var m=0; 
 var on_off=0; 
 function close_open(new_obj) 
 {     
 	m++; 
 	var t=document.getElementById( "dd ").innerHTML=m; 
 	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>  
  </head>  
  <body>