Javascript 使用jquery更新时间跨度
我有一个小脚本,它应该用当前时间更新一个跨度 此脚本在setInterval之前工作,但在setInterval期间不工作 HTML:Javascript 使用jquery更新时间跨度,javascript,jquery,html,Javascript,Jquery,Html,我有一个小脚本,它应该用当前时间更新一个跨度 此脚本在setInterval之前工作,但在setInterval期间不工作 HTML: id为time的span不会更改时间。您也需要更新dt对象。内部的getHours()和getMinutes()函数在setInterval()之前初始化的dt对象上工作。 如果不重新初始化dt它将采用缓存对象的日期 setInterval(function(){ console.log("interval"); dt = new Date()
id为time的span不会更改时间。您也需要更新
dt
对象。内部的getHours()
和getMinutes()
函数在setInterval()之前初始化的dt
对象上工作。
如果不重新初始化dt
它将采用缓存对象的日期
setInterval(function(){
console.log("interval");
dt = new Date(); //here!
time = dt.getHours() + ":" + dt.getMinutes();
console.log(time)
$("#time").text(time);
},5000);
完整代码:
$(document).ready(function(){
var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes();
$("#time").text(time);
setInterval(function(){
console.log("interval");
dt = new Date();
time = dt.getHours() + ":" + dt.getMinutes();
$("#time").text(time);
},5000);
});
每次都需要设置dt
,日期对象不会一直更新时间。它将保留在创建时
请参阅此代码和此
我会使用momente.js或一些库,这对于setIntervalthnx来说太原始了,现在可以使用了,我只需要知道如何添加一个前导0,如果它是beneith 10:(看这里,基本上就是一直添加零,然后使用slice获取最后2个字符,你总能得到你想要的。
setInterval(function(){
console.log("interval");
dt = new Date(); //here!
time = dt.getHours() + ":" + dt.getMinutes();
console.log(time)
$("#time").text(time);
},5000);
$(document).ready(function(){
var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes();
$("#time").text(time);
setInterval(function(){
console.log("interval");
dt = new Date();
time = dt.getHours() + ":" + dt.getMinutes();
$("#time").text(time);
},5000);
});
var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes();
$("#time").text(time);
setInterval(function(){
dt = new Date();
time = dt.getHours() + ":" + dt.getMinutes();
$("#time").text(time);
},5000);