这可能是一个很大的问题,但我完全陷入困境,所以感谢任何帮助。
我正在尝试创建一个从周日到周日运行的倒数计时器,并在本周末重启。我尝试在大气中使用倒计时包,但文档有限,似乎永远不会起作用。我也尝试下载并运行第三方jquery包,但它们似乎总是崩溃流星。
有人能指出我正确的方向还是告诉我如何在流星中做到这一点?
具体细节:
答案 0 :(得分:1)
问题太大了。但我可以建议一个小步骤来解决这个问题。您的拍卖方案需要endDateTime
来存储该值(即使它将在星期日开始/结束)。在模板上,您需要显示计时器,将一个ReactiveVar
设置为数字(倒计时),将一个ReactiveVar
设置为字符串(以显示结果)
Template['countDownTemplate'].created = function() {
var due, dueDate, duration, now, num, self;
self = this;
dueDate = Template.instance().data['auction']['endDateTime'];
now = moment.utc();
due = moment.utc(dueDate, 'YYYY-MM-DD hh:mm:ss');
duration = moment.duration(due.diff(now));
num = Math.floor(duration.asSeconds());
if (num >= 0) {
self['remaining'] = new ReactiveVar<number>(num);
self['timeRemaining'] = new ReactiveVar<string>(convertPeriod(num));
self['interval'] = Meteor.setInterval((function() {
var remaining;
remaining = self['remaining'].get();
self['remaining'].set(remaining - 1);
self['timeRemaining'].set(convertPeriod(self['remaining'].get()));
if (remaining === 0) {
Meteor.clearInterval(self['interval']);
} else {
remaining = Math.floor(moment.duration(due.diff(now)).asSeconds());
}
}), 1000);
}
};
(convertPeriod
将基于remaining
号码转换为正确的格式)
剩下的就是用timeRemaining
convertPeriod