javascript - 如何修复javascript计时器以使秒数达到60然后重置为零
问题描述
我正在设置一个计时器,但目前秒数达到数千,而不是在 60 秒后重置为零。有没有快速解决这个问题的方法?这是我正在使用的代码:
var running = 0;
function startPause(){
if(running == 0){
running = 1;
increment();
document.getElementById("start").innerHTML = "Pause";
}else{
running = 0;
document.getElementById("start").innerHTML = "Resume";
}
};
function reset(){
running = 0;
time = 0;
document.getElementById("output").innerHTML = "00:00";
document.getElementById("start").innerHTML = "Start";
};
function increment(){
if(running == 1){
setTimeout(function(){
time++;
var mins = Math.floor(time / 10 / 60);
if(mins <= 9){
mins = "0" + mins;
}
var secs = Math.floor(time / 10);
if(secs <= 9){
secs = "0" + secs;
}
document.getElementById("output").innerHTML = mins + ":" + secs;
increment();
}, 100);
}};
解决方案
您可以使用模% 60。
它使除法的其余部分增加了 60
示例 127 % 60 = 7
推荐阅读
- java - 更改微调器中的值时更新文本字段的问题
- mysql - 如果有办法在下面使用 group_concat 实现这种结果
- acumatica - 数据库中不存在 INcostSubitemXRef
- database - powerBi 崩溃后无法访问数据库
- python-3.x - 使用 office365 REST API 从 sharepoint 下载下载 .aspx 文件
- sql - 在 SQL Server 中按 10000 插入表 10000 行
- sql - 根据多个条件合并行并连接
- java - 如何手动创建包含所有默认 JPA 属性的 Spring JPA 实体管理器
- typescript - 用于内部应用的 Vue 或 Nuxt
- reactjs - 反应状态,一段时间后删除数组中的项目