【问题标题】:What line of code would allow me to update a function every second?哪一行代码可以让我每秒更新一个函数?
【发布时间】:2015-05-08 23:31:09
【问题描述】:

我只是想做一个简单的时钟,告诉你时间而不是日期。下面代码的问题在于它显示了打开 .html 文件的确切时间。

<body onload="showTime()">
<p id="time"</p>
<script>
var seconds;
var minutes;
var hours;
var time;

function showTime() {
    seconds = getSeconds();
    minutes = getMinutes();
    hours = getHours();
    document.getElementById("demo").innerHTML =
    hours +":"+ minutes +":"+ seconds; 
}

无论如何我可以让它每秒自动更新一次吗?谢谢。

【问题讨论】:

标签: javascript function


【解决方案1】:

您需要 setInterval 和适当的日期对象,但您不想在 body 标记中执行它。

<!DOCTYPE html>
<html>
  <head>
    <title>Clock</title>
    <script>
      window.onload=function() {
        setInterval(showTime,500); // run every 500ms
      }
      function pad(num) {
        return ("0"+num).slice(-2); // pad the number with leading 0
      } 
      function showTime() {
        var d    = new Date(), // now
         seconds = d.getSeconds();
         minutes = d.getMinutes();
         hours   = d.getHours();
         document.getElementById("demo").innerHTML = pad(hours) +":"+ pad(minutes) +":"+ pad(seconds); 
      } 
      </script>    
    </head>
    <body>
      <p id="demo"></p>
   </body>
</html>

【讨论】:

    【解决方案2】:

    尝试使用 setInterval() 方法每秒运行一次函数。 请参阅此主题Run JavaScript function at regular time interval - 不确定这是不是最好的方法,但它可能会起作用...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 1970-01-01
      • 2012-06-04
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多