首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS计数定时器

问JS计数定时器
EN

Stack Overflow用户
提问于 2022-03-25 03:09:48
回答 1查看 59关注 0票数 0

我正在尝试创建一个简单的JS倒计时器。计时器--不起作用了。

​

代码语言:javascript
复制
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);
}
代码语言:javascript
复制
<input type="text" id="input">
<button id="btn" onClick="setTimer()"> Start </button>

​

计时器没有减少。你能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-25 03:30:21

您的timer变量没有改变,因为它再次从输入中获取值。我在下面简化了你的代码

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71611739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档