简体   繁体   English

JS倒数计时器

[英]JS count down timer

I am trying to create a simple JS countdown timer.我正在尝试创建一个简单的 JS 倒数计时器。 The timer-- is not working.计时器 -- 不工作。

 function setTimer() { var x = parseInt(document.getElementById("input").value); var timer = Math.floor(x * 60); var mins = Math.floor(timer / 60); var secs = Math.floor(timer % 60); var text = document.getElementById("output"); text.innerHTML = mins + ": " + secs; timer--; setTimeout('setTimer()', 1000); }
 <input type="text" id="input"> <button id="btn" onClick="setTimer()"> Start </button>

The timer is not reducing.计时器没有减少。 Can you please help?你能帮忙吗?

Your timer variable is not changing because it is taking the value again from the input.您的timer变量没有改变,因为它再次从输入中获取值。 I have simplified your code below我在下面简化了您的代码

<html>
    <script>
        var timer;
        function setTimer() {
            var x = parseInt(document.getElementById("input").value);
            timer = Math.floor(x * 60);

            handleTimer(timer);
        }

        function handleTimer(timer) {
            var mins = Math.floor(timer / 60);
            var secs = Math.floor(timer % 60);
            document.getElementById("output").value = mins + " : " + secs;
            timer--;
            setTimeout(function () {
                handleTimer(timer);
            }, 1000);
        }
    </script>
    <input type="text" id="input" placeholder="input" />
    <input type="text" id="output" placeholder="output" />
    <button id="btn" onClick="setTimer()">Start</button>
</html>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM