0

この関数を使用してアニメーション関数を保存し、順次アニメーション用に 1 つずつ呼び出します。

以下のコードで何が欠けているのかわかりません。コールバック関数にしたかったのです。

現在、このメソッドは 1 回だけ実行されます。

function treasure(){

    var blinky = function ()
    {
        if (funqueue.length > 0)
        {
            ((funqueue.shift())(), blinky);
        }
        else { return }

    }
     blinky();

}

ありがとう..

4

1 に答える 1

1

コールバックとして意図されている場合は、呼び出し括弧の後ではなく呼び出し括弧内に渡す必要があります。(また、余分な折り返し括弧は実際には必要ありません。)

funqueue.shift()(blinky);

そのままでは、カンマ演算子blinkyの 2 番目の値であり、何も起こりません。

また、それがコールバックではなく、 の各関数の後に呼び出す必要がある場合は、次のfunqueueようにします。

funqueue.shift();
blinky();
于 2012-06-28T03:30:33.797 に答える