javascript - 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()
. 页面上的当前时间不会前进。请帮我。
解决方案
您遇到的问题是,一旦您分配,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>
推荐阅读
- mongodb - Spring响应式mongodb模板更新文档部分包含对象
- ms-access - 在计算数据类型中将 Year([Year]) 显示为两位数
- flutter - 如何在 Flutter 中使用 Cardview 中的 Listview?
- postgresql - docker-compose up -d build 后恢复 Postgres db.dump 文件
- interface - USB真机接口在android studio 3.1中不显示
- c# - 如何将多个图像上传到数据库中以获得相同的 ID 并显示到 gridview 中?
- javascript - 为什么在线缩小器会更改我的代码?
- android - Android studio 3.1.4 工具栏卡在角落里
- html - 为什么我的新 div 会影响它之前的 div?
- mysql - 每次将新数据添加到数据库时如何从 1 增加 Id 列