次の形式で実行します:
d.wait (3000). run(function(m){ //3 秒待ちます
alert('昔、山がありました');
}).wait(1000).run(function(m) ){ //1 秒待ちます
alert('山にお寺があります');
}).wait(2000).run(function(m){ //2 秒待ちます
alert('寺院に老僧がいて、若い僧侶に話を聞かせてください');
}).wait(3000).run(function(m){ //3 秒待ちます
alert ('ストーリーは:')
}).goStart( ; 🎜>
コードは次のとおりです:
Delay.prototype = {
wait:function(m){
if(this.funList[this.index] && typeof this.funList[this.index].fun != '関数') {
m = this.funList[this.index].m;
}
this.funList[this.index] = {m:m,fun:null};
🎜>},
run:function(fun){
if(typeof this.funList[this.index].fun != 'function'){
this.funList[this.index].fun = 楽しい;
this.index ;
}else{
this.funList[this.index] = {'m':0,'fun':fun}; 🎜>}
this.start();
return this;
},
start:function(){
var self = this; ;
var setOutrun = function(funList,index){
if(funList [index] == 未定義){
return
}
var m = funList[index].m,
fun = funList[index] .fun;
fun == 'function' || (fun = function(){}); re = setTimeout(function(){
if(fun(index) === false)return false;
if(self.isloop){
index = -1;
self.isloop = false;
}
setOutrun(funList,index);
}
setOutrun(this.funList,0); function(){
return clearTimeout(this.re);
},
goStart:function(){
var self = this,
fun = function(){
self .isloop = true;
};
if(this.funList[this.index] && typeof this.funList[this.index].fun != '関数'){
this.funList[this .index].fun = fun;
this.index ;
}else {
this.funList[this.index] = {'m':0,'fun':fun};
this.start();
}
};
var d = new Delay();
d.wait(3000).run(function(m){
alert('昔、山がありました');
}).wait(2000) .run(function(m){
alert('山にお寺がありました');
}).wait(2000).run(function(m){
alert('寺に老人がいる 僧侶が若い僧侶に話をする');
}).wait( 2000).run(function(m){
alert('語られたストーリーは次のとおりです:');
}).goStart( );