質問

脚本: 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 であると役立ちます。

役に立ちましたか?

解決

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

この機能用の非常に優れた jQuery プラグインがすでに存在します (i18n もサポート)

jQuery の時間前

Timeagoは、ファジータイムスタンプの自動更新を簡単にサポートできるJQueryプラグインです(例:「4分前」または「約1日前」または「今から2年後」)

追記:忘れずに設定してください jQuery.timeago.settings.allowFuture = true; 将来の日付を許可するには


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

  1. 英語のみをサポートしていると仮定すると(i18n はなし)、単純に使用します setInterval これは、jQuery timeago で設定された文字列が「15 分前」であるかどうかを 20 ~ 25 秒ごとにチェックし、その後は何でも実行します
  2. ハック プラグインのコードを調整して、たとえば、 $timeago.inWords メソッドを実行し、 distanceMillis パラメータは >=900000 (15*60*1000).
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top