0

私はこれで頑張ってきました。0から連続してランダムにカウントする jQuery カウンター関数です6が、ループの最後まで、つまり配列の 7 桁目のカウントまで、数値の繰り返しはありません。現在、次のコードは機能しますが、数字が繰り返されます。助けてください!

function beginTimer() {
    if ($('#timer').html().length == 0) {
        timer(0) ;  
    }
}

function timer(i) {
    setTimeout("timer(" + (i) + ")", 1000);
    $('#timer').html(Math.floor(Math.random() * 6));
}
4

3 に答える 3

0

「数字」の配列を作成し、存在しなくなるまでそれらから選択できます。

var digits = [];

// populate our digits array with 0-6
for(var i = 0; i < 6; i++)
    digits.push(i);

function timer() {
    // are there still digits remaining?
    if(!digits.length)
        return;

    // select a random digit and remove it from the array
    var digit = digits.splice( Math.floor( Math.random() * digits.length ), 1 );

    $('#timer').html(digit);

    setTimeout(timer, 1000);
}

JSFiddle

于 2013-06-02T22:36:53.750 に答える
0
var counted = [];

function count() {
    var numb, go = true;

    while (go) {
        numb = Math.floor(Math.random() * 6);
        if (counted.indexOf(numb) == -1) counted.push(numb), go = false;
    }

    $('#timer').html(numb);
    if (counted.length > 5) counted = [];
    setTimeout(count, 300);
}

フィドル

于 2013-06-02T22:53:24.067 に答える