JavaScriptに時間を格納する変数があります。たとえば、duration
は、14分または1時間20分のような時間を分および時間で格納する変数です。 JavaScriptでこの変数を使用してカウントダウンタイマーを作成するにはどうすればよいですか?保存されている時間が変数にある場合のカウントダウンタイマーを作成する
0
A
答えて
0
正規表現で目的の値を抽出し、setInterval()
を使用して定期的にタイマーを更新する関数を呼び出す方法があります。
次の式では、あなたのパターンに一致します。
/^\s*(?:(\d+)\s+hour(?:s)?\s*)?(\d+)\s+minute(?:s)?$/i
最初のキャプチャグループはあなたの時間を分単位で時間数と第二1を与えます。 match
メソッドのおかげでアクセスできます。 1つのマッチで1つのアイテムとの一致が含まれる配列が返されます(一致するものが見つからない場合はnull
)。
あなたは、その後、それぞれ、時間数と、あなたが待機する時間を与えるだろう、この
time = "1 hour 10 minute";
match = time.match(/^\s*(?:(\d+)\s+hour(?:s)?\s*)?(\d+)\s+minute(?:s)?$/i);
if(match)
{
h = (match[1] === undefined) ? 0 : match[1]; // The number of hours
m = (match[2] === undefined) ? 0 : match[2]; // The number of minutes
}
のような分のmunberをh
とm
を得ることができます。あなたは簡単にミリ秒に変換(なぜならそのもっと便利)、それは0
setInterval()
あなたが関数を呼び出すことができるようにjavascript関数(あなたの更新機能)ごとXミリ秒に到達するまでそれを例えばごとに秒を更新することができます。この関数は、保存して後でclearInterval()
関数に渡して、以前に設定したタイマーをクリアする識別子を返します。
interval = h * 3600000 + m * 60000; // the interval in ms
stopTime = new Date((new Date()).getTime() + interval); // when to stop counting
counter = setInterval(count, 1000);
あなたcount
機能は、単に、現在の時刻を取得間隔を更新し、この1つは低いか、またはタイマーを停止させるために0に等しいかどうかを確認する必要があります。
function count()
{
now = new Date();
interval = Math.max(0, stopTime.getTime() - now.getTime());
if(interval <= 0) clearInterval(counter);
}
関連する問題
- 1. Javascript変数内にステートメントが保存されている場合
- 2. モデル作成時に複数のレールが複数ある場合
- 3. ページがリフレッシュされてもカウントダウンタイマーの時間を保持する方法
- 4. 時間の値を変数に保存して更新する
- 5. Ruby:最後の変数が3時間以上前に保存された場合
- 6. は、01.01.1970のデータがない時間を時間変数に保存します。
- 7. 変更された場合のみフォームを保存する
- 8. 静的変数がC言語で作成されている場合
- 9. jQueryセレクタが変数に保存されている場合に、要素が削除されたことを知る方法を削除した場合
- 10. JTableにセルの変更を保存する場合は、ボタンが押された場合に限り保存してください。
- 11. 各ビューで変更される場合と変更されない場合があるグローバル変数Laravel 5.2
- 12. ファイルをデータベースに保存する必要がある場合は、
- 13. PHP変数にmomentjs時間を保存する方法は?
- 14. 1時間前にブロックされている場合
- 15. Googleタグマネージャクリック時に変数がクリックされない場合があります
- 16. 変更があった場合にデータの保存を促す
- 17. データベース名がSQLCMDモード変数で定義されている場合、オブジェクト(関数)を作成する方法は?
- 18. DBに保存されている時間は、選択した時間の2時間前です。
- 19. 時間のない日付時間を保存するには?
- 20. Djangoパスワードが別のシステムに保存されている場合のユーザー認証
- 21. データがCSVファイルに保存されている場合のNodejsの応答クエリ
- 22. レコードが保存される前にアソシエーションを作成する
- 23. サイズ変更時にNSWindowサイズを保存して閉じるユーザーの場合
- 24. SQL変数が存在する場合
- 25. 検索フィルターがセッションに保存されている場合のsymfonyエラー
- 26. PHP変数に値がある場合のみグラフを生成
- 27. 時間を保存している間にmysqlデータベースを変換中です
- 28. Powershellが存在しない場合にフォルダを作成する
- 29. ファイルが存在しない場合にのみ作成する
- 30. 親レコードがアクティブレコードに保存されているときに親列が挿入されていない場合
使用 'のsetInterval()'や 'のsetTimeout()'すべての* X *ミリ秒の機能を実行するために、その機能の更新中に、いくつかのDOM要素はカウントダウンの最新の値を表示します。ここにはStackOverflowを含め、すでにオンラインの例がいくつかあります。何を試しましたか? – nnnnnn
私はsetInterval()関数を試してみましたが、私の変数から時間と分を抽出するにはどうすればいいですか?分や時間などの文字列を格納するので、countdownに変数を直接使うことはできません。 –