0

jQueryqueue()関数を使用して一連の画像を次々とアニメーション化しています。私が望むのは、キューが実行されるたびにランダムな回数発生することです。キューを設定する JS は次のとおりです。

//rotate colors function
function rotateColors() {
    for (var i=0; i<7; i++) {
        isAnimating = true;
        color.delay(50).eq(i).fadeIn(100);
        color.delay(100).eq(i).fadeOut(100);
    }   
}
//rotate colors on button click
button.bind('click', function() {
    color.queue(function(n) {
        rotateColors();
        n();
    });
});

このキューがアクティブになるたびにランダムな回数実行されるようにするにはどうすればよいですか?

4

1 に答える 1

1

Math.random()乱数を生成するために使用します。

function rotateColors() {
    var rnd = Math.floor(Math.random() * 10) + 1; // generate random number between 1 and 10
    for (var i = 0; i < rnd; i++) {
        isAnimating = true;
        color.delay(50).eq(i).fadeIn(100);
        color.delay(100).eq(i).fadeOut(100);
    }   
}
//rotate colors on button click
button.bind('click', function() {
    color.clearQueue().queue(function(n) {
        rotateColors();
        n();
    });
});

連続したクリックで大量のアクションがキューに蓄積されるのを防ぐためclearQueue()に、ハンドラーに追加したことに注意してください。click

于 2013-09-26T18:42:24.140 に答える