jQuery倒计时/使用服务器端值计数

时间:2010-03-15 07:57:02

标签: javascript jquery timer countdown

脚本:http://keith-wood.name/countdown.htm

每日json回应:

items: { fajr: '5:23 am', sharooq: '7:23 am', dhur: '1:34 pm', asr: '4:66 pm': magrib: '6:23 pm', isha: '8:01 pm'}

当网站加载时,我发出Ajax请求并获得上述响应时间。这些是每天发生的事件,具有不同的时间。我希望得到那个时间,并计算剩下多少分钟或小时或秒,并显示一旦秒完成,然后显示该事件发生了多少分钟。 15分钟后,显示新事件倒计时。这就是它在显示屏上的外观:

dhur 2 hours left
dhur 2 minutes left (if no longer hours left)
dhur 55 seconds left (if no longer minutes left)
dhur 5 seconds ago (if count down finished and then show how many seconds ago)
dhur 9 minutes ago (if extended more then seconds, then show how many minutes ago)
asr 1 hour left (after 15 minutes later time changes to new event)

如果我使用的脚本不好而您更喜欢其他脚本来完成此类任务,请与我分享。它不一定是一个jQuery脚本,但它有助于它是jQuery。

1 个答案:

答案 0 :(得分:2)

我想你最好不要重新实现这个东西。

此功能已经有一个非常好的jQuery插件(也支持i18n)

jQuery timeago

  

Timeago是一个jQuery插件   它很容易自动支持   更新模糊时间戳   (例如“4分钟前”或“约1天   以前“或”2年后“”

P.S。:不要忘记将jQuery.timeago.settings.allowFuture = true;设置为允许将来的日期


如果你需要某种“回调”,你可以做两件事。

  1. 假设你只支持英语(没有i18n),只需使用setInterval,每20-25秒检查jQuery timeago设置的字符串是“15分钟前”,然后再做任何事情
  2. Hack 调整插件的代码并将自己挂钩到例如如果$timeago.inWords参数为distanceMillis(15 * 60 * 1000),则>=900000方法并执行任何操作。