Heim  >  Artikel  >  Web-Frontend  >  Javascript中暂停功能的实现代码_javascript技巧

Javascript中暂停功能的实现代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 19:18:291089Durchsuche
复制代码 代码如下:

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn