jquery倒计时重启倒计时没有按任何按钮

我用这个jquery倒计时

倒计时我想要的是它每天14:00重新开始。 当计数器到达14:00时它应该自动重启并转到23h:59m:59s

现在它倒计时,当它达到我的时间时它会在00:00:00停留。 如果我手动刷新页面,倒计时再次开始。

我看过这篇文章,但我不能帮助我重启

这是我使用的代码:

   function doCountdown() { var todaysNoon = new Date(), nextNoon = new Date(); todaysNoon.setHours(14, 00, 0); if (todaysNoon <= nextNoon) { nextNoon.setDate(nextNoon.getDate() + 1); } nextNoon.setHours(14, 00, 0); $('#defaultCountdown').countdown({ until: nextNoon, description: '', onExpiry: function() { doCountdown() } }); } $(window).load(function() { doCountdown(); });​  

HTML

 

Text here

Some text here.

我认为countDown的问题在于它每次都使用相同的日期来重启自己,所以如果你递归调用countDown初始化函数它将使用旧值初始化自己并立即调用递归函数,因为该值将与旧的相同(存储)一个。 所以我找到了一个不同的解决方案,这里是代码:

   

编辑说明正确使用:

只需这样做 – 你非常接近:

 function doCountdown() { var todaysNoon = new Date(), nextNoon = new Date(); todaysNoon.setHours(14, 00, 0); if (todaysNoon <= nextNoon) { nextNoon.setDate(nextNoon.getDate() + 1); } nextNoon.setHours(14, 00, 0); $('#defaultCountdown').countdown({ until: nextNoon, description: '', onExpiry: doCountdown }); } $(window).load(function() { doCountdown(); });​ 

你正在做的是将函数的“结果”传递给回调,而不是实际的函数本身

这是我为你制作的JSfiddle:

http://jsfiddle.net/U6tgV/

再编辑一个泰恩(看看你的页面):

如果你逐字复制,那就像你用温和的重组一样写。 请注意,我通过Apache HTTPD 2.x stable,PHP5.4.x stable的本地安装validation了这一点,这是一个文字副本粘贴。

结合额外的注意事项:“最佳实践”(我如何厌恶这句话)是你的html + css应该是独立的,JS应该赞美它。 话虽如此 - js和js refs应该在html建立之后尽可能多地发生。 这听起来比依赖遗留系统和渲染链流程要容易得多。 祝你好运,快乐狩猎

      jQuery Countdown    
asdasdads
?

我遇到了类似的问题,这就是我解决它的问题。 您尝试在到期事件时重新初始化插件,您需要更新until属性。 因此,请在声明中使用不同的回调

 $('#defaultCountdown').countdown({ until: nextNoon, description: '', onExpiry: doReset }); 

然后

 function doReset(){ var todaysNoon = new Date(), nextNoon = new Date(); todaysNoon.setHours(14, 00, 0); if (todaysNoon <= nextNoon) { nextNoon.setDate(nextNoon.getDate() + 1); } nextNoon.setHours(14, 00, 0); $('#defaultCountdown').countdown('change', 'until', nextNoon);//use change method } 

这是一个带有10秒计时器的演示用于测试