忍受我糟糕的JS技能,但我正在尝试使用moment.js更新页面,以便不断显示秒数。
我有这个:
function update_time(){
var now = moment().format('h:mm:ss a');
$('.timer').append(now);
setTimeout(update_time, 1000);
})();
然而,我不确定如何让它正常工作。我很确定我没有正确关闭某些内容,或者即使我正确地设置了函数格式。
答案 0 :(得分:2)
这里似乎有两个问题。
首先,你的自我调用函数需要用括号括起来;你似乎错过了@linstantnoodles指出的第一个左括号。
其次,追加时间将每秒将时间文本附加到给定节点。您可能希望替换 .timer
的内容,因此您应该使用jQuery.text()
代替。
(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/之类的脚本来获取准确的计时器。