gpt4 book ai didi

javascript - jQuery 倒计时 - 每日倒计时,还有辅助倒计时?

转载 作者:行者123 更新时间:2023-11-28 09:35:27 24 4
gpt4 key购买 nike

1。每日倒计时

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

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

我正在以一种相当hacky的方式做:

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

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

但是,这非常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 似乎永远不会触发。

有什么想法吗?

最佳答案

我建议你使用优秀的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 中以保持倒计时,并在到期时销毁它们..

关于javascript - jQuery 倒计时 - 每日倒计时,还有辅助倒计时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13136251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com