使用Moment.js并让页面更新以显示秒数

时间:2013-12-05 00:05:31

标签: javascript momentjs

忍受我糟糕的JS技能,但我正在尝试使用moment.js更新页面,以便不断显示秒数。

我有这个:

function update_time(){ 

 var now = moment().format('h:mm:ss a');

$('.timer').append(now);

setTimeout(update_time, 1000);

})();

然而,我不确定如何让它正常工作。我很确定我没有正确关闭某些内容,或者即使我正确地设置了函数格式。

3 个答案:

答案 0 :(得分:2)

这里似乎有两个问题。

首先,你的自我调用函数需要用括号括起来;你似乎错过了@linstantnoodles指出的第一个左括号。

其次,追加时间将每秒将时间文本附加到给定节点。您可能希望替换 .timer的内容,因此您应该使用jQuery.text()代替。

Here's a fiddle

(function update_time(){ 
    var now = moment().format('h:mm:ss a');
    $('.timer').text(now);
    setTimeout(update_time, 1000);
})();

答案 1 :(得分:0)

试试这个:

function update_time(){        
  var now = moment().format('h:mm:ss a');    
  //displaying the timer    
  $('.timer').html(now);    
  //Keeping update in seconds    
  setTimeout(update_time, 1000);    
};

//Initiate first
setTimeout(update_time, 1000);

答案 2 :(得分:0)

在进行时钟工作(see question)时,你不应该依赖方法setTimeout()。而是使用the sample at W3schools中的日期对象或查看http://flipclockjs.com/之类的脚本来获取准确的计时器。