0

次のコードでしようとしています

  1. カードゲームの結果を表示し、
  2. カウントダウン表示中に3秒待ってから、
  3. 画面をリロードします。

    //Display results, at least that was the idea.
    for(var player = 0; player < players.length; player++)
    {
        resultString = players[player][6]
        if (result == null) { resultString += ", its a tie."; }
        else
        {
            resultString += (player == 0 ? ", you" : ", cassino") +
            (player == result ? (player == 0 ? " win" : " wins") :
            (player == 0 ? " lose" : " loses"));
        document.getElementById(player == 0 ? "player" : "casino").
        childNodes[0].nodeValue = resultString;
        }
        showHand(players[player]);
    }
    
    //Lag for 3 seconds while displaying a countdown. At least it lags alright.
    var time = new Date().getTime();
    while (((time / 1000) + 3) - (new Date().getTime() / 1000 ) > 0)
    {
        document.getElementById("call").childNodes[0].nodeValue = "Next round in "
        + Math.ceil(((time / 1000) + 3) - (new Date().getTime() / 1000 ))
        .toFixed(0);
    }
    //Reload screen. Working fine.
    dealHands();
    }
    

問題は、console.log がプログラムの「//結果の表示」セクションに表示される値に問題がないことを指摘しているにもかかわらず、このコードを実行すると、代わりに画面が 3 秒間フリーズしてから画面をリロードすることです。実際、コメント「//Lag for 3 seconds...」の後の部分をコメントすると、結果は意図したとおりに表示されます。コードをオーバーライドしていることに気付いていない .time() のプロパティはありますか?

4

1 に答える 1