`

javascript 暂定执行一段时间

阅读更多
有人说window.setTimeout("function",毫秒数);这个方法不是暂定执行一段时间,是过一段时间之行相应的函数。如:window.setTimeout("javascript:alert(1);",3000);是指3秒后执行alert(1);那么这3秒的时间javascript就暂停了吗?就不执行后面的代码了吗?这才是关键。答案是在等待alert(1);的3秒中不会暂定,会继续执行后面的javascript代码,3秒后再来执行alert(1);下面是网络上搜集的一个使javascript暂停一段时间的方式,学习了。
--------------------------------------------------------------------------------

<script language="javascript">  /*Javascript中暂停功能的实现  Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能。  javascript作为弱对象语言,一个函数也可以作为一个对象使用。  比如:  function Test(){   alert("hellow");   this.NextStep=function(){    alert("NextStep");   }  }  我们可以这样调用 var myTest=new Test();myTest.NextStep();  我们做暂停的时候可以吧一个函数分为两部分,暂停操作前的不变,把要在暂停后执行的代码放在this.NextStep中。  为了控制暂停和继续,我们需要编写两个函数来分别实现暂停和继续功能。  暂停函数如下:  */  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);  }  /*  该函数把要暂停的函数放到数组window.eventList里,同时通过setTimeout来调用继续函数。  继续函数如下:  */  function GoOn(ind){   var obj=window.eventList[ind];   window.eventList[ind]=null;   if (obj.NextStep) obj.NextStep();   else obj();  }  /*  该函数调用被暂停的函数的NextStep方法,如果没有这个方法则重新调用该函数。    函数编写完毕,我们可以作如下册是:  */  function Test(){   alert("hellow");   Pause(this,3000);//调用暂停函数   this.NextStep=function(){    alert("NextStep");   }  }    Test();  </script>以前收藏的,很经典!!!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics