Heim >Web-Frontend >js-Tutorial >So implementieren Sie die Javascript-Pause-Funktion

So implementieren Sie die Javascript-Pause-Funktion

王林
王林Original
2021-10-26 15:49:394097Durchsuche

Methode zum Implementieren der Javascript-Pause-Funktion: [function sleep(obj,iMinSecond){ if (window.eventList==null) window.eventList=new Array(); var...].

So implementieren Sie die Javascript-Pause-Funktion

Die Betriebsumgebung dieses Artikels: Windows 10-System, Javascript 1.8.5, Thinkpad T480-Computer.

Wir wissen, dass Javascript selbst keine Pausenfunktion hat (Schlaf kann nicht verwendet werden) und VBScript keine DoEvents verwenden kann, daher habe ich vor, selbst eine Pausenfunktion zu schreiben.

Tipps: 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 es so nennen:

var myTest=new Test();myTest.NextStep();

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

Um Pause und Fortsetzen 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>

Empfohlenes Lernen: Javascript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Javascript-Pause-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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