0

アニメーション関数のキューの長さを設定する方法はありますか?

誰かが矢印キーを使用して jQuery animate 関数を起動したと想像してください。今、彼は狂ったように矢印キーをダッシュ​​し、待ち行列に入れられた機能が完了するのを待たなければなりませんが、これには多くの時間がかかり、混乱して神経をすり減らす可能性があります. アニメーションを stop() できることは知っていますが、単純にキューの長さを 3 としましょう。

ここにフィドルがあります。それを開き、キーを押します。

コード例:

var div = $(".bouncer");

function runIt() {
div
    .animate({ left: "+=200" }, 500 )
    .animate({ left: "-=200" }, 500 )
}

$(document).keydown(function(e) {
    if (e.keyCode) {
        runIt();
    }
});
4

1 に答える 1

0

私が知っているように、それを行う直接的な方法はありませんが、これを試してください:

var div = $(".bouncer");

function runIt() {
div.animate({left: "+=200" }, 500)
   .animate({left: "-=200" }, 500)
}

$(document).keydown(function (e) {
if (e.keyCode) {
    var len=div.queue("fx").length;
    if(len<=1)
      runIt();
    }
});

jsfiddle.net/kcCG5/4/

于 2013-10-28T13:11:59.593 に答える