ホームページ > ウェブフロントエンド > jsチュートリアル > js チェーンの遅延実行 DOME_javascript テクニック

js チェーンの遅延実行 DOME_javascript テクニック

WBOY
リリース: 2016-05-16 17:57:41
オリジナル
1243 人が閲覧しました

次の形式で実行します:

コードをコピーします コードは次のとおりです:

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(){ this.funList= []; this.re = null; ;
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( );


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート