【发布时间】:2020-06-05 14:59:57
【问题描述】:
我正在尝试用 Javascript 创建一个比平时慢的秒表。 1 秒需要 30 秒才能完成。 不需要启动/停止按钮,代码只需要显示一个计时器,该计时器从 0 年 0 天 0 小时 0 分钟 0 秒开始,并以自定义的、可修改的速度上升。这将如何实现?
【问题讨论】:
标签: javascript timer
我正在尝试用 Javascript 创建一个比平时慢的秒表。 1 秒需要 30 秒才能完成。 不需要启动/停止按钮,代码只需要显示一个计时器,该计时器从 0 年 0 天 0 小时 0 分钟 0 秒开始,并以自定义的、可修改的速度上升。这将如何实现?
【问题讨论】:
标签: javascript timer
使用setInterval (https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval) 将手表上当前时间的变量更新为变量。 setInterval 接受延迟,因此您可以自定义配置以更改计时器的速度。每当有人改变速度时,您需要使用 clearInterval() 终止最后一个 setInterval 并传入对运行间隔的引用。
阅读一些该文档,你应该很高兴。
【讨论】:
同意其他答案,setInterval 是最合适的方法,这是一个从当前日期/时间开始并以 30 实际秒 = 1 程序秒的较慢速率移动的示例:
var tcount = 1;
var step = 30000;
var d = new Date();
console.log(d.toDateString()+' '+d.toLocaleTimeString());
var timr = setInterval(()=> {
d.setSeconds(d.getSeconds()+tcount);
console.log(d.toDateString()+' '+d.toLocaleTimeString());
}, step);
【讨论】: