Javascript jQuery服务器端值倒计时/倒计时

Javascript jQuery服务器端值倒计时/倒计时,javascript,jquery,timer,countdown,Javascript,Jquery,Timer,Countdown,脚本: 每日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分钟后,显示新的事件倒计时。以下是它在显示屏上

脚本:

每日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,它会有所帮助。

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

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

Timeago是一个jQuery插件,它使 它易于自动支持 更新模糊时间戳 (例如,“4分钟前”或“大约1天 “两年前”或“两年后”)

注意:不要忘记设置
jQuery.timeago.settings.allowFuture=true以允许将来的日期


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

  • 假设您只支持英语(没有i18n),只需使用
    setInterval
    ,每隔20-25秒检查jQuery timeago设置的字符串是否为“15分钟前”,然后执行任何操作
  • 黑客修改插件的代码,并将自己连接到例如
    $timeago.换句话说
    方法中,如果
    distance millis
    参数为
    =900000
    (15*60*1000),则执行任何操作

  • 它不支持回调,我怎样才能避免呢?比如每秒钟回拨一次,或者每次回拨发生变化时回拨一次。。因为我必须在倒计时结束后运行操作。