【发布时间】:2014-10-11 04:32:43
【问题描述】:
我需要特定日期的 countUP 计时器。 (年、月、日、时、分、秒、)
例如,我需要从 2012 年 8 月 24 日开始计时,当我刷新页面时,计时器必须仍然工作/计时。
我发现了很多计数器,但每个计数器都是 DOWN,而不是 UP。
这个计时器看起来不错 http://flipclockjs.com/
但缺少从特定日期开始的计数。
【问题讨论】:
标签: jquery date timer web counter
我需要特定日期的 countUP 计时器。 (年、月、日、时、分、秒、)
例如,我需要从 2012 年 8 月 24 日开始计时,当我刷新页面时,计时器必须仍然工作/计时。
我发现了很多计数器,但每个计数器都是 DOWN,而不是 UP。
这个计时器看起来不错 http://flipclockjs.com/
但缺少从特定日期开始的计数。
【问题讨论】:
标签: jquery date timer web counter
好吧,既然你提到了 FlipClock,我想这应该可以工作:
计算当前日期和您想要的日期之间的差异:
var date1 = new Date("8/24/2012");
var date2 = new Date();
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffSeconds = Math.ceil(timeDiff / 1000);
创建 FlipClock(默认情况下会向上计数,以更改设置的倒计时:true):
var clock = $('.your-clock').FlipClock({
// ... your options here
});
使用setTime()方法设置时间:
clock.setTime(diffSeconds);
现在开始计时:
clock.start();
我没有检查这个,但应该根据文档工作。
编辑:
由于 FlipClock 不支持超过 99 天的任何内容,因此这里是 Countdown.js 的另一种方法:
setInterval(function() {
var timespan = countdown(new Date("08/24/2012"), new Date());
var div = document.getElementById('time');
div.innerHTML = "Time difference with 08/24/2012 is " + timespan.years + " years, " + timespan.months + " months, " + timespan.days + " days, " + timespan.hours + " hours, " + timespan.minutes + " minutes, " + timespan.seconds + " seconds."
}, 1000);
见demo。
【讨论】:
var timespan = countdown(new Date("08/12/2012"), new Date());,或使用纯 javascript:stackoverflow.com/a/20669357/2571926