我在动态查看moment js的时间更新时遇到了问题。它显示了正确的时间,但我必须刷新浏览器才能获得时间更新。我希望它能实时更新它。比如momentjs.com主页。
我试过使用setInterval和setTimeout,但由于某种原因,我得到了下面的数字,甚至没有更新。
这是我到目前为止在代码方面所做的。就瞬间而言,非常简单,我想要的就是持续数秒……
update = ->
time = moment().format('hh:mm:ss a')
clock = setInterval update, 1000
console.log(clock) //output: 53296任何想法都会受到极大的赞赏。
发布于 2012-12-18 09:59:41
您应该将输出放在update方法中,一切都将按预期工作。方法setInterval不会返回重复调用的方法的结果,而是返回一个可以与clearInterval一起使用来停止执行的标识符。
这只是一个小的工作示例,它每隔一秒打印一次时间,并在10秒后停止:
update = ->
console.log(moment().format('hh:mm:ss a'))
x = setInterval update, 1000;
setTimeout (-> clearInterval(x)), 10000如果您想使用该时间作为某个DOM元素的内容,您可以在update函数中使用以下代码(假设您有一个id为“time”的元素(例如div) ):
JQuery
$("#time").text(moment().format('hh:mm:ss a')) 普通JS:
document.getElementById("time").firstChild.data = moment().format('hh:mm:ss a')发布于 2013-10-10 20:02:30
尝尝这个。如果你不需要使用meomentJS的话。https://github.com/furkankaynak/countdown
https://stackoverflow.com/questions/13924789
复制相似问题