0

私はこのようなクラスにさまざまな機能をたくさん持っています:

var helper = {    

     h1 : function(){
           //does  stuff        
    },

     h2 : function(){   
         //does  stuff
    },

    ...

}

そして、次のようなもので必要なものを実行できます:

$('#helper').click(function(){
    helper.h4();
 // then delay then execute h5(), delay h6(), etc... 
     });

関数がそれぞれの間に定義された状態で連続して実行されるようにするにはどうすればよいですかdelay。どうすればこれができるのかわかりませんが、、、、または何かを使用する必要が queueあるとdequeue思います。delaysetTimeout

4

1 に答える 1

1

あなたは単に行うことができます:

setTimeout(helper.h4, 0);
setTimeout(helper.h5, 1000);
setTimeout(helper.h6, 2000);
…

各タイムアウトはすぐに開始されるため、遅延は同じ瞬間からのものであることに注意してください (多かれ少なかれ)。何らかの理由でまだ呼び出されていないタイムアウトをキャンセルできるように、呼び出しから返された値を取得したい場合があります。

于 2012-04-17T02:26:16.547 に答える