是否有一个内置函数可以在每个间隔内执行此DOM操作?

问题描述

我正在尝试让此功能每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)