Bagaimana untuk melaksanakan fungsi jeda dalam javascript

PHPz
Lepaskan: 2018-09-28 16:26:29
asal
2984 orang telah melayarinya

Artikel ini terutamanya memperkenalkan cara melaksanakan fungsi jeda dalam javascript itu sendiri tidak mempunyai fungsi jeda Pada masa yang sama, vbscript tidak boleh menggunakan doEvents, jadi fungsi ini ditulis untuk melaksanakan fungsi ini rujuk kepadanya. Butirannya adalah seperti berikut:

Javascript itu sendiri tidak mempunyai fungsi jeda (tidur tidak boleh digunakan) dan vbscript tidak boleh menggunakan doEvents, jadi fungsi ini ditulis untuk melaksanakan fungsi ini.

Javascript ialah bahasa objek yang lemah, dan fungsi juga boleh digunakan sebagai objek.

Contohnya:

  function Test(){ 
   alert("hellow"); 
   this.NextStep=function(){ 
   alert("NextStep"); 
   } 
  }
Salin selepas log masuk

Kita boleh memanggil seperti ini var myTest=new Test();myTest.NextStep();

Apabila kita berhenti seketika, kita boleh membahagikan fungsi kepada dua bahagian Kod sebelum operasi jeda kekal tidak berubah dan kod yang akan dilaksanakan selepas jeda diletakkan dalam ini.Langkah Seterusnya.

Untuk mengawal jeda dan meneruskan, kita perlu menulis dua fungsi untuk melaksanakan fungsi jeda dan meneruskan 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>
Salin selepas log masuk

Di atas adalah keseluruhan kandungan bab ini Untuk lebih banyak tutorial berkaitan, sila lawati Tutorial Video JavaScript!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan