0

作成したウォブル アニメーション関数がありますが、特定の時点でスタック内のバインドされたアニメーションを破棄したいのですが、これを行うとエラーが発生します。

Uncaught RangeError: Maximum call stack size exceeded

これは明らかに、スタック全体がいっぱいになっているためですが、次のアニメーションを実行するためのより良い方法があるかどうか疑問に思っていますが、必要なときにスムーズに停止する方法を作成していますか?

function wobble(targetElement, speed, distance) {
    targetElement.animate({ marginLeft: "+=" + distance}, {
        complete: function () {             
            targetElement.animate({ marginLeft: "-=" + distance}, {
                complete: function () {
                    wobble(targetElement, speed, distance, status);
                }
            });
        }
    });
}

finish()キューを強制終了してアニメーションを停止するために使用していましたが、これがこのエラーの原因です。

4

1 に答える 1