javascript - 当它们达到 60 时,我怎样才能将秒数重置为 0
问题描述
您好,我的网站中嵌入了秒表,但是我遇到了问题。当秒数达到 60 因此 1 分钟时,它们应重置为 00。但是在这种情况下,虽然分钟将每 60 秒增加一次,但秒数不会重置为零。这是我的代码
<div id="output">00:00:00</div>
<button id="startPause" onclick="startPause()">Start</button>
<button onclick="reset()">Reset</button>
<script type="text/javascript">
var time = 0;
var running = 0;
function startPause() {
if (running == 0) {
running = 1;
increment();
document.getElementById('startPause').innerHTML = 'Pause';
} else {
running = 0;
document.getElementById('startPause').innerHTML = 'Resume';
}
}
function reset() {
running = 0;
time = 0;
document.getElementById('output').innerHTML = '00:00:00';
document.getElementById('startPause').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;
}
var tenths = Math.floor(time % 10);
if (tenths <= 9) {
tenths = '0' + tenths;
}
document.getElementById('output').innerHTML =
mins + ':' + secs + ':' + tenths;
increment();
}, 100);
}
}
</script>
非常感谢任何帮助
解决方案
您可以使用该代码
<div id="output">00:00:00</div>
<button id="startPause" onclick="startPause()">Start</button>
<button onclick="reset()">Reset</button>
<script type="text/javascript">
var time = 0;
var running = 0;
function startPause() {
if (running == 0) {
running = 1;
increment();
document.getElementById('startPause').innerHTML = 'Pause';
} else {
running = 0;
document.getElementById('startPause').innerHTML = 'Resume';
}
}
function reset() {
running = 0;
time = 0;
document.getElementById('output').innerHTML = '00:00:00';
document.getElementById('startPause').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 >= 60)
{
secs = secs - ( mins * 60 );
}
if ((secs).toString().length === 1) {
secs = '0' + secs;
}
var tenths = Math.floor(time % 10);
if ((tenths).toString().length === 1) {
tenths = '0' + tenths;
}
document.getElementById('output').innerHTML =
mins + ':' + secs + ':' + tenths;
increment();
}, 100);
}
}
</script>
推荐阅读
- mysql - 在 centos 7 中将 my.cnf 中的 sql_mode 设为空白仍然得到这与 sql_mode=only_full_group_by 不兼容
- webpack - webpack 给出消息“看门狗连接已关闭。正在尝试重新运行看门狗。” 在 Vaadin 14 应用程序中
- go - 每次请求后关闭 http2 客户端连接
- python - 使用线程后如何从函数中获取返回值?
- swift - Xcode 11 的 SWRevealViewController 问题
- java - 如何在约会类中创建列表以及如何编写测试用例?
- vba - 如何在 Excel 中使用 VBA 单击图标
- class - 导入弹窗不显示
- python - 在散点图中创建 for 循环的问题
- swift - 删除时动画表格视图单元格