javascript模拟sleep

当我们在一个js的方法里面,执行一部分代码后,需要让js暂停一断时间,然后再继续向下运行的时候,或者你会想到java的线程sleep(),但js 里面没有暂停的函数,所以要自己实现一个,具体方法看下面的:
  1. //js暂停函数  
  2. function Pause(obj,iMinSecond){   
  3.    if (window.eventList==nullwindow.eventList=new Array();   
  4.    var ind=-1  
  5.    for (var i=0;i<window.eventList.length;i++){   
  6.        if (window.eventList[i]==null  
  7.          window.eventList[i]=obj;   
  8.          ind=i;   
  9.          break  
  10.           
  11.       
  12.    if (ind==-1){   
  13.    ind=window.eventList.length;   
  14.    window.eventList[ind]=obj;   
  15.      
  16.   setTimeout("GoOn(" ind ")",iMinSecond);   
  17.   
  18.   
  19. //js继续函数  
  20. function GoOn(ind){   
  21.   var obj=window.eventList[ind];   
  22.   window.eventList[ind]=null  
  23.   if (obj.NextStep) obj.NextStep();   
  24.   else obj();   
  25.   
//js暂停函数 function Pause(obj,iMinSecond){ if (window.eventList==null) window.eventList=new Array(); var ind=-1; for (var i=0;i<window.eventList.length;i++){ if (window.eventList[i]==null) { window.eventList[i]=obj; ind=i; break; } } if (ind==-1){ ind=window.eventList.length; window.eventList[ind]=obj; } setTimeout("GoOn(" + ind + ")",iMinSecond); } //js继续函数 function GoOn(ind){ var obj=window.eventList[ind]; window.eventList[ind]=null; if (obj.NextStep) obj.NextStep(); else obj(); }


使用方法很简单:
  1. function testJsStop(){  
  2.  alert("1");  
  3.  Pause(this,3000);   
  4.  this.NextStep=function(){   
  5.   alert("2");  
  6.   
  7.  
 
posted @ 2011-09-07 11:14  Aquarius' Web Tech  阅读(1483)  评论(0编辑  收藏  举报