问题描述
我正在尝试让此功能每2秒运行一次。到目前为止,“测试”正在重复记录,但dom操作已成功执行一次。此后,它不会在随后的时间间隔中用新时间更新。我缺少此行的“动作/动词”内置函数吗?如果有用的上下文,我正在使用Moment JS库检索当前时间。
var domstrings = {
timeBox : '#time',}
let m = moment()
let currentTime = m.format('h: m: s')
setInterval(function(){
console.log('test');
let currentTime = m.format('h: m: s')
document.querySelector(domstrings.timeBox).textContent = currentTime;
},2000)
解决方法
dom操作已成功重复发生,但数据随时都相同;这是因为您已全局声明了m变量,并且每2秒具有一个相同的值,所以必须将声明移到函数内部...
就像...
var domstrings = {
timebox : '#time',}
setInterval(function(){
let m = moment()
let currentTime = m.format('h: m: s')
console.log('test');
document.querySelector(domstrings.timebox).textContent = currentTime;
},2000)