javascript - 简单的 5 位计时器不显示预期结果
问题描述
下面的代码应该产生一个按秒计数的五位计时器(例如:2:32:18)。变量“一”到“五”代表位值,其中“五”代表小时,“一”代表秒的第一位。我真的很感激一些解释为什么这不能正确显示......
<html>
<body>
<p id="clock"></p>
<script>
let one = 0;
let two = 0;
let three = 0;
let four = 0;
let five = 0;
function counter() {
if (one = 10) {
two ++;
one = 0;
}
if (two = 6) {
three ++;
two = 0;
}
if (three = 10) {
four ++;
three = 0;
}
if (four = 6) {
five ++;
four = 0;
}
one++;
var oneS = one.toString();
var twoS = two.toString();
var threeS = three.toString();
var fourS = four.toString();
var fiveS = five.toString();
document.getElementById("clock").innerHTML = fiveS + ":" + fourS + threeS + ":" + twoS + oneS;
setTimout(counter, 1000);
}
</script>
</body>
</html>
解决方案
发现几个问题:
- 该
counter
函数永远不会被调用,因为该setTimeout
语句被放置在counter
函数内部。将其移出大括号。 - 错字,应该
setTimeout
代替setTimout
- 改为使用
setInterval
,因为我假设您想重复调用该函数
推荐阅读
- node.js - 无法在谷歌云功能中调试 Puppeteer 超时
- r - 使用 dplyr 对多个帐户进行分组
- javascript - 具有初始值的 Typescript Map 类构造函数不接受 2 种不同类型
- javascript - 在 100% 客户端网站 (JavaScript) 上隐藏令牌
- python - 我的递归函数似乎是使用原始列表而不是在 python 中创建一个新列表
- javascript - React Native - 多选将类组件转换为功能组件
- embedded - 更改函数调用的位置会中断 uart 上的通信
- php - 雄辩的 whereDate 子句使用日期值作为列
- powershell - 删除重复的数据行
- bootstrap-4 - Bootstrap Carousel循环通过活动存储图片Rails 6