ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの一時停止機能の実装方法

JavaScriptの一時停止機能の実装方法

王林
王林オリジナル
2021-10-26 15:49:394118ブラウズ

JavaScript の一時停止関数を実装するメソッド: [function sleep(obj,iMinSecond){ if (window.eventList==null) window.eventList=new Array(); var...]。

JavaScriptの一時停止機能の実装方法

#この記事の動作環境: Windows10 システム、JavaScript 1.8.5、thinkpad t480 コンピューター。

JavaScript 自体には一時停止関数がなく (スリープは使用できない)、vbscript では doEvents が使用できないことがわかっているので、一時停止関数を自分で作成する予定です。

ヒント: JavaScript は弱いオブジェクト言語であり、関数もオブジェクトとして使用できます。

例:

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

次のように呼び出すことができます:

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

一時停止すると、関数を 2 つの部分に分割できます。一時停止後に実行されるコードは次のとおりです。 this.NextStep に配置されます。

一時停止と続行を制御するには、一時停止関数と続行関数をそれぞれ実装する 2 つの関数を作成する必要があります。

一時停止機能は次のとおりです:

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

推奨される学習: JavaScript ビデオ チュートリアル

以上がJavaScriptの一時停止機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。