我试图在互联网上的一些教程后创建一个时钟,但我遇到了问题。时钟应该每秒更新一次,并应显示当前时间。我可以请你帮忙吗?这应该是结果:https://www.w3schools.com/js/tryit.asp?filename=tryjs_timing_clock。这是我的代码:
function startClock() {
var currentTime = new Date();
console.log(currentTime);
var currentHours = currentTime.getHours();
console.log(currentHours);
var currentMinutes = currentTime.getMinutes();
console.log(currentMinutes);
var currentSeconds = currentTime.getSeconds();
console.log(currentSeconds);
currentMinutes = checkTime(m);
currentSeconds = checkTime(s);
var time = currentHours + ":" + currentMinutes + ":" + currentSeconds;
document.getElementById("time").innerHTML = time;
var repeatTime = setTimeout(startClock, 1000);
}
function checkTime(i) {
if (i < 10) {
i = "0" + i;
return i;
}
}
答案 0 :(得分:1)
您的代码中存在四个问题:
startClock()
函数会调用setTimeout()
以确保再次调用它。但它最初从未被调用过。因此,请在startClock();
附近的末尾添加语句</script>
。
变量m
不存在。通过编写currentMinutes = checkTime(currentMinutes);
。
变量s
不存在。通过编写currentSeconds = checkTime(currentSeconds);
。
如果checkTime()
不小于10,则undefined
函数不返回任何内容(i
。因此,请添加语句else return "" + i;
。
修复所有这些并运行!我测试了最终结果。
答案 1 :(得分:0)