0

スクリプト: 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 であると役立ちます。

4

1 に答える 1

2

このことを再実装しない方が良いと思います。

この機能のための本当に素晴らしい jQuery プラグインがすでにあります (i18n もサポートしています)。

jQuery 時間前

Timeago は、あいまいなタイムスタンプの自動更新を簡単にサポートできるようにする jQuery プラグインです (たとえば、「4 分前」、「約 1 日前」、「2 年後」など)。

jQuery.timeago.settings.allowFuture = true;PS:将来の日付を許可するように設定することを忘れないでください


何らかの「コールバック」が必要な場合は、2 つのことを行うことができます。

  1. 英語 (i18n なし) のみをサポートしていると仮定するとsetInterval、20 ~ 25 秒ごとに、jQuery timeago によって設定された文字列が「15 分前」であるかどうかを確認し、何でも実行します。
  2. プラグインのコードをハックして、eg メソッドにフックし、パラメーターが(15*60*1000)$timeago.inWordsの場合は何でもします。distanceMillis>=900000
于 2010-03-15T09:36:48.983 に答える