JavaScript でカウントダウン効果を実装する

JavaScript でカウントダウン効果を実装する

カウントダウン効果を実現するにはJavascriptを使用します。参考までに、具体的な内容は次のとおりです。

まだフロントエンドの勉強中です。コードに不備や間違った考えがあったらご容赦ください。アドバイスをよろしくお願いします。

ショッピング モールの Web サイトでは、何かが起こるまでの残り時間をユーザーに知らせるために、Web サイトまたはアプリ上にカウントダウン領域が表示されることがよくあります。コードを使用してこれを実装してみましょう。

コードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
 <メタ文字セット="UTF-8">
 <title>タイトル</title>
 <スタイル>
 div {
  マージン: 300px;
  境界線: 1px ピンク
 }

 スパン {
  表示: インラインブロック;
  幅: 40px;
  高さ: 40px;
  背景色: 青;
  フォントサイズ: 20px;
  色: #fff;
  テキスト配置: 中央;
  行の高さ: 40px;
 }
 </スタイル>
</head>
<本文>
<div>
 <span class="hour">1</span>
 <span class="minute">2</span>
 <span class="second">3</span>
</div>
<スクリプト>
 var 時間 = document.querySelector('.hour')
 var min = document.querySelector('.minute')
 var sce = document.querySelector('.second')
 var inputTime=+新しい日付('2021-2-8 16:40:00')
 //countDown()//最初の更新で空白スペースが発生しないように最初に呼び出します//タイマーを開始します。これは、1000ms 待機した後に開始されるタイマー setInterval(countDown,1) です。
 関数 countDown() {
 var nowTime = +new Date(); // 現在の時刻の合計ミリ秒数を返します var times = (inputTime - nowTime) / 1000; // times は残りの合計秒数です var h = parseInt(times / 60 / 60 % 24); //h = h < 10 ? '0' + h : h;
 hours.innerHTML = h; // 残りの時間を時間のブラックボックスに入力します var m = parseInt(times / 60 % 60); // 分 m = m < 10 ? '0' + m : m;
 min.innerHTML = m;
 var s = parseInt(times % 60); // 現在の秒 s = s < 10 ? '0' + s : s;
 sce.innerHTML を s に追加します。
 }
</スクリプト>
</本文>
</html>

デモンストレーション効果:

時間は秒単位でカウントダウンする

コードの説明:

ここでは、ブロック div 要素内に 3 つのインライン span 要素を配置しています。インライン要素の幅と高さは変更できないため、すべてインライン ブロック要素に置き換えられます。

ここでは、カウントダウンを、それぞれ時間、分、秒に対応する 3 つのスパン ボックスで変更する必要があるため、これら 3 つのスパンのイベントが取得されます。次に、inputTime 変数を使用して目的地の時間を受け取ります。

次に、countDown という名前の関数を作成します。変数 nowTime は、関数内で現在の時刻を受け取るために使用されます。受信時間はミリ秒単位であるため、変数 times を使用して宛先時間と現在の時間の間の時間差を受信し、1 秒 = 1000 ミリ秒であるため 1000 で割って残りの秒数を取得します。

残りの時間を表すには h を使用します。1 日 = 24 時間、1 時間 = 60 分、1 分 = 60 秒です。したがって、ここでは合計秒数/60/60%24 を使用して残りの時間を取得します。次に、スタイルの見栄えを良くするために、三項演算子を使用して、表示される小数点以下の桁数を 2 桁に設定します。時間は 10 未満ですか? 10 未満の場合は、その前に「0」を追加します。10 より大きい場合は、数値をそのまま返します。そして、h を使用して受信し、h を時間ボックスに渡します。同じ原則が、以下の分と秒にも適用されます。
次に関数を記述し、タイマーを使用して 1/1000 ミリ秒間隔でこの関数を呼び出します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JS カウントダウン実装コード (時間、分、秒)
  • JS カウントダウン (日、時間、分、秒)
  • シンプルで使いやすいカウントダウン js コード
  • ボタンをクリックしたときに60秒のカウントダウンを実現するjsコード
  • 2つのシンプルなjsカウントダウンメソッド
  • ネイティブ JS を使用して簡単なカウントダウン機能を実装する例
  • 数秒後にカウントダウンジャンプするjsの例
  • 優れたjs htmlページのカウントダウンは秒単位の精度になります
  • jsはクリックして確認コードを取得するカウントダウン効果を実現します
  • Javascript は、製品のフラッシュセールのカウントダウンを実装します (時間はサーバー時間と同期されます)

<<:  MySQL PXC は IST 送信のみで新しいノードを構築します (推奨)

>>:  Docker 実行オプションを使用して Dockerfile の設定を上書きする

推薦する

MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装

実験環境: 1. CentOS 7 サーバー 3 台2. mysql5.7.26 (3台のマシンはす...

MySQL インデックスのパフォーマンス最適化の問題に対する解決策

MySQL によって作成される最適化はインデックスを追加することですが、インデックスを追加しても目的...

MySQLはinit-connectを使用してアクセス監査機能の実装を増やします

まず init-connect を通じて mysql 接続を初期化し、次にインスタンスに接続する必要...

CSS3 カスタムスクロールバースタイル::webkit-scrollbar サンプルコード詳細説明

Windows のデフォルトのスクロール バー スタイルは見苦しく、プロジェクト内でスクロール バー...

HTML ユーザー登録ページ設定ソースコード

上記の Web ページをデザインします。 <!DOCTYPE html> <htm...

MySQL の JSON 挿入の問題

MySQL 5.7.8 以降では、JSON テキストでデータを効率的に取得できるネイティブ JSON...

Vue再帰コンポーネントの簡単な使用例

序文多くの学生は既に再帰に精通していると思います。アルゴリズムの問​​題を解決するために再帰がよく使...

ウェブテーブルフレームを作成するためのヒント

<br />Web テーブル フレームを作成するためのヒント。 ------------...

純粋な CSS カスタム複数行省略記号の問題 (原理から実装まで)

テキストオーバーフローを表示するにはどうすればいいですか? どのようなニーズがありますか?単一行です...

Linux コマンドラインのワイルドカードとエスケープ文字の実装

ハードディスクのファイル属性のバッチ表示など、特定の種類のファイルに対してバッチ操作を実行する場合、...

HTML でフロートをクリアする 2 つの方法

1. クリアフローティング法1前の親要素の高さを設定します。注: エンタープライズ開発では、可能であ...

MySQL 制約の超詳細な説明

目次MySQL 制約操作1. 非ヌル制約2. ユニーク制約3. 主キー制約4. 外部キー制約5. カ...

js 正規表現の先読みと後読み、および非キャプチャグループ化

目次先読みと後読みをキャプチャグループと組み合わせる捕獲グループと非捕獲グループ前を向いて、後ろを振...

Vue コンポーネント化の一般的な方法: コンポーネント値の転送と通信

関連する知識ポイント親コンポーネントから子コンポーネントに値を渡す子コンポーネントから親コンポーネン...

CocosCreatorで複数のタイマーを使用する方法の詳細な説明

1.タイムアウトを設定する3 秒後に abc を印刷します。一度だけ実行します。 setTimeou...