次のコードは、JS を使用してプログラムを一時停止および続行します
< ;script type="text/javascript">
/*JavaScript での一時停止機能の実装
JavaScript 自体には一時停止機能がなく (スリープは使用できません)、vbscript では doEvents が使用できないため、この関数は、この関数を実装するために書かれています。
JavaScript は弱いオブジェクト言語であり、関数もオブジェクトとして使用できます。
例:
function Test(){
alert("hello");
this.NextStep=function(){
alert("NextStep");
}
var myTest=new Test();myTest.NextStep();
一時停止するとき、一時停止操作の前に関数を 2 つの部分に分割できます。変更するには、一時停止後に実行するコードを this.NextStep に記述します。
一時停止と再開を制御するには、一時停止と再開の関数をそれぞれ実装する 2 つの関数を作成する必要があります。
一時停止関数は次のとおりです。
*/
function Pause(obj,iMinSecond){
if (window.eventList==null) window.eventList=new Array();
var ind= -1;
for (var i=0;iif (window.eventList[i]==null) {
window.eventList[ i]= obj;
ind=i;
}
}
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();
}
/*
この関数は中断された関数 NextStep メソッドがある場合、そのようなメソッドがない場合は、関数が再度呼び出されます。
関数を作成した後、次のことができます。
*/
function Test(){
alert("hello");
Pause(this) , 3000);//一時停止関数を呼び出します
this.NextStep=function(){
alert("NextStep")
}
}
< /スクリプト>