我发现Momentjs库非常酷,但是我没有找到关于如何实现一些简单任务的文档.
我正在尝试构建一个倒计时器,我猜我应该使用持续时间对象,但我不太明白(可能是因为英语不是我的第一语言).无论如何这是我想要的:
我正在尝试构建一个倒计时器,我猜我应该使用持续时间对象,但我不太明白(可能是因为英语不是我的第一语言).无论如何这是我想要的:
var time = 7200; var duration = moment.duration('seconds',time); setInterval(function(){ //show how many hours,minutes and secods are left $('.countdown').text(duration.format('h:mm:ss')); //this doesn't work because there's no method format for the duration object. },1000);
所以每隔一秒它应该显示:
02:00:00
1时59分59秒
1时59分58秒
1时59分57秒
…
00:00:00
如何使用Momentjs库实现此结果?
谢谢!
解决方法
持续时间对象表示静态期间,并且不会随着时间的推移而增加/减少.因此,如果你要减少它,你必须自己做,例如创建一种秒计数器或每次重新创建持续时间对象.以下是第二个选项的代码:
var time = 7200; var duration = moment.duration(time * 1000,'milliseconds'); var interval = 1000; setInterval(function(){ duration = moment.duration(duration.asMilliseconds() - interval,'milliseconds'); //show how many hours,minutes and seconds are left $('.countdown').text(moment(duration.asMilliseconds()).format('h:mm:ss')); },interval);