1. ホーム
  2. javascript

[解決済み] javascriptのsetTimeout()が動作しない [終了しました]。

2022-03-04 14:44:04

質問

こんにちは javascriptでsetTimeout()関数を使おうとしていますが、うまくいきません。どなたか助けてくださる方、よろしくお願いします。

<!DOCTPYE html>
<html>
<head>
    <script>
        var button = document.getElementById("reactionTester");
        var start  = document.getElementById("start");

        function init() {
            var startInterval/*in milliseconds*/ = Math.floor(Math.random() * 30) * 1000;
            setTimeout(startTimer(), startInterval);
        }

        function startTimer() {
            document.write("hey");
        }
    </script>
</head>
<body>
<form id="form">
    <input type="button id=" reactionTester" onclick="stopTimer()">
    <input type="button" value="start" id="start" onclick="init()">
</form>
</body>
</html>

解決方法は?

この行です。

setTimeout(startTimer(), startInterval); 

を呼び出していますね。 startTimer() . 代わりに、関数として渡す必要があります。 を呼び出すことができます。 というように。

setTimeout(startTimer, startInterval);