Rumah >hujung hadapan web >tutorial js >Bagaimana untuk melaksanakan fungsi jeda javascript

Bagaimana untuk melaksanakan fungsi jeda javascript

王林
王林asal
2021-10-26 15:49:394097semak imbas

Kaedah untuk melaksanakan fungsi jeda javascript: [function sleep(obj,iMinSecond){ if (window.eventList==null) window.eventList=new Array();

Bagaimana untuk melaksanakan fungsi jeda javascript

Persekitaran pengendalian artikel ini: sistem windows10, javascript 1.8.5, komputer thinkpad t480.

Kami tahu bahawa javascript itu sendiri tidak mempunyai fungsi jeda (tidur tidak boleh digunakan), dan vbscript tidak boleh menggunakan doEvents, jadi editor merancang untuk menulis fungsi jeda dengan tangan.

Petua: JavaScript ialah bahasa objek yang lemah dan fungsi juga boleh digunakan sebagai objek.

Contohnya:

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

Kita boleh memanggilnya seperti ini:

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

Apabila kita berhenti seketika, kita boleh membahagikan fungsi kepada dua bahagian kod yang akan dilaksanakan selepas jeda dalam ini.Langkah Seterusnya.

Untuk mengawal jeda dan sambung semula, kita perlu menulis dua fungsi untuk melaksanakan fungsi jeda dan sambung semula masing-masing.

Fungsi jeda adalah seperti berikut:

<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>

Pembelajaran yang disyorkan: tutorial video javascript

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi jeda javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn