如何修复Javascript中的实时时钟(我在网页上看不到它)?

时间:2017-12-13 14:43:31

标签: javascript real-time-clock

我试图在互联网上的一些教程后创建一个时钟,但我遇到了问题。时钟应该每秒更新一次,并应显示当前时间。我可以请你帮忙吗?这应该是结果: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;
  }
}

2 个答案:

答案 0 :(得分:1)

您的代码中存在四个问题:

  1. startClock()函数会调用setTimeout()以确保再次调用它。但它最初从未被调用过。因此,请在startClock();附近的末尾添加语句</script>

  2. 变量m不存在。通过编写currentMinutes = checkTime(currentMinutes);

  3. 来解决此问题
  4. 变量s不存在。通过编写currentSeconds = checkTime(currentSeconds);

  5. 来解决此问题
  6. 如果checkTime()不小于10,则undefined函数不返回任何内容(i。因此,请添加语句else return "" + i;

    < / LI>

    修复所有这些并运行!我测试了最终结果。

答案 1 :(得分:0)

检查要点CurrentTimeData.js