0

タイマーに問題があります -

var myTimer = function () {
    var d = Date.now();
    // var t=d.toLocaleTimeString();
    var timerSeconds = Math.round((od - d) / 1000);
    document.getElementById("timer").innerHTML = "Time left for this tour:" + timerSeconds;
    if (timerSeconds > 0) {
        setTimeout(arguments.callee, 1000);
    } else {
        finTour();
    }
};
myTimer();

この関数を呼び出します:

var finTour = function () {
    deleteCartes();
    randomCell();
    od = Date.now() + 5000;
    myTimer();
    window.setTimeout(function () {
        tourOfComp();
    }, 5000)

    var tourOfComp = function () {

        for (var i = 0; i < 12; i++) {
            if (document.getElementsByTagName("td")[i].style.backgroundColor == "aqua") {
                document.getElementsByTagName("td")[i].firstChild.data = cartes[prochaineCarte++]
            }
        }
        for (var j = 0; j < 12; j++) {
            if (document.getElementsByTagName("td")[j].style.backgroundColor == "aqua")
                document.getElementsByTagName("td")[j].style.backgroundColor = "";
        }
        for (var k = 0; k < 3; k++) {
            tab[k].value = "";
        }
        od = Date.now() + timeFixe;
        myTimer();
    };

問題は、時間を20に修正すると、これら2つの最後の関数が呼び出され、時間は常に5であり、決して20ではないようです。時間を更新しないようですが、これを繰り返すだけです:

window.setTimeout(function ()
{
 tourOfComp();
},5000)
4

0 に答える 0