首页 > 解决方案 > JS 如何不断计算时间

问题描述

我一个月前才开始学习 Javascript。我想知道如何保持计数和更新并实时显示。

 var date = new Date();
var second = document.querySelector('#sec')
var time = document.querySelector('#future-time')
function currentTime(){
  console.log('a')
  time.innerHTML = date;  
second.innerHTML = date.getSeconds();
}
  
setInterval(currentTime, 1000);

使用此代码,我可以在页面上看到时间,但是第二个没有更新,所以它一直说与console.log(). 页面上的当前时间不会前进。请帮我。

标签: javascript

解决方案


您遇到的问题是,一旦您分配,var date = new Date()那么date将始终是它被分配的确切时间的日期时间。相反,您可以在每次调用时创建一个新的 Date 对象currentTime,并且您将在调用函数时获得一个刷新的 Date 对象。

var second = document.querySelector('#sec')
var time = document.querySelector('#future-time')
function currentTime(){
  var date = new Date();
  time.innerHTML = date;  
  second.innerHTML = date.getSeconds();
}
  
setInterval(currentTime, 1000);
<span id="sec"></span>
<span id="future-time"></span>


推荐阅读