Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie die Pausenfunktion in Javascript

So implementieren Sie die Pausenfunktion in Javascript

PHPz
PHPzOriginal
2016-05-16 15:33:302985Durchsuche

In diesem Artikel wird hauptsächlich beschrieben, wie die Pausenfunktion in Javascript implementiert wird. Gleichzeitig kann vbscript keine Pausenfunktion verwenden, daher wurde diese Funktion geschrieben, um diese Funktion zu implementieren Die Details lauten wie folgt:

Javascript selbst verfügt nicht über eine Pausenfunktion (sleep kann nicht verwendet werden) und vbscript kann keine doEvents verwenden, daher wurde diese Funktion geschrieben, um diese Funktion zu implementieren.

Javascript ist eine schwache Objektsprache und eine Funktion kann auch als Objekt verwendet werden.

Zum Beispiel:

  function Test(){ 
   alert("hellow"); 
   this.NextStep=function(){ 
   alert("NextStep"); 
   } 
  }

Wir können so aufrufen: var myTest=new Test();myTest.NextStep();

Wenn wir pausieren, können wir eine Funktion in zwei Teile teilen. Der Code vor der Pausenoperation bleibt unverändert und der Code, der nach der Pause ausgeführt werden soll, wird in this.NextStep platziert.

Um Pause und Fortsetzung zu steuern, müssen wir zwei Funktionen schreiben, um die Pausen- und Fortsetzungsfunktionen zu implementieren.

Die Pausenfunktion lautet wie folgt:

<script language="javascript"> 
  function sleep(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"); 
   sleep(this,3000);//调用暂停函数 
   this.NextStep=function(){ 
   alert("NextStep"); 
   } 
  } 
Test(); 
  </script>

Das Obige ist der gesamte Inhalt dieses Kapitels. Weitere verwandte Tutorials finden Sie unter JavaScript-Video-Tutorial!

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