【问题标题】:jQuery Countdown - Daily Countdown, with secondary countdown as well?jQuery Countdown - 每日倒计时,还有二级倒计时?
【发布时间】:2012-10-30 09:42:57
【问题描述】:

1。每日倒计时

我正在尝试使用 Keith Wood 的 jQuery 倒计时插件 (http://keith-wood.name/countdownRef.html) 来创建每日倒计时页面。例如:

  • A - 每天倒计时到 07:00
  • B - 每天倒计时到 09:00
  • C - 每天倒计时到 11:00

我的做法很老套:

var foo = new Date();
foo.setHours(11)
foo.setMinutes(0)
foo.setSeconds(0)
$('#fooCountdown').countdown({until: foo});

基本上,我只是创建一个默认为现在的新日期对象,然后将时间设置为我今天想要的时间。

但是,这很 hacky,而且它不会在一天结束时重置 - 一旦新的一天结束,它仍然会倒计时到前一天的时间。

有没有更简洁或更好的方法来使用这个插件进行每日倒计时?

2。二次倒计时

其次 - 我还希望每个倒计时在到期时倒计时到当天晚些时候的一秒。

例如对于 A - 一旦到达 07:00,它就会开始倒计时到当天的 15:00。

我正在使用 onExpiry 函数执行此操作:

$('#officeCountdown').countdown({until: officeOpens, onExpiry: OfficeOpen, alwaysExpire: true});

...

function OfficeOpen() {
    $('#officeCountdown').countdown('option', {until: officeCloses, onExpiry: OfficeClose, alwaysExpire: true});
}

function OfficeClose() {
    alert('Office has closed')
}

第一部分 - 倒计时直到 officeOpen 似乎工作。

但是,第二部分 - 倒计时直到 OfficeClose 没有 - 它似乎总是开始倒计时 officeOpens 和 officeCloses 之间的差异,而不是使用当前时间 - 而且,OfficeCLose 函数似乎永远不会触发。

有什么想法吗?

【问题讨论】:

    标签: javascript countdown


    【解决方案1】:

    我建议您使用出色的 Datejs 插件来创建/处理日期。
    请阅读 getting-starteddocs,因为它非常广泛

    这样就可以了

    $('#fooCountdownA').countdown({
        until: Date.today.set({hour:7}) 
    });
    $('#fooCountdownB').countdown({
        until: Date.today.set({hour:9}) 
    });
    $('#fooCountdownC').countdown({
        until: Date.today.set({hour:11}) 
    });
    

    至于倒计时,该插件似乎对重复使用倒计时不友好.. 也许你最好创建虚拟元素并将它们插入 dom 以保持倒计时,并在到期时销毁它们..

    【讨论】:

      猜你喜欢
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多