JavaScript は setTimeout を使用してカウントダウン効果を実現します

JavaScript は setTimeout を使用してカウントダウン効果を実現します

JavaScript ネイティブ コードの記述能力を高め、setTimeout() の使用を強化するために、カウントダウン デモが作成されました。カウントダウンは、今日の Web サイトでよく使用される小さな機能です。気に入った場合は、そのままにして、日常的に使用する実用的な小さなスクリプトとして扱うことができます。

実装のアイデア

1. まず時間の値を取得し、時間の値から1を引いてカウントダウンを開始します。分59秒59
2. 秒の一の位は 9 から減少します。秒の一の位が 0 未満の場合、秒の十の位は 1 減少します。
3. 秒の十の位が 0 未満の場合、分の一の位が 1 減らされます。
4. 分の1の位が0未満の場合、分の10の位が1減らされます。
5. 分の十の位が0未満の場合は、時間から1を引きます。
6. 時間が 0 未満になるとタイマーが停止し、すべての時間が 0 に設定されます。

実装コード

html

<p>カウントダウン:</p>
<span id="時間">5</span>
<span>:</span>
<span id="minuteTen">0</span>
<span id="minuteBit">0</span>
<span>:</span>
<span id="secondTen">0</span>
<span id="secondBit">0</span>

CS

スパン{
 表示: インラインブロック;
 幅: 20px;
 高さ: 20px;
 背景色: #000000;
 色: #ffffff;
 テキスト配置: 中央;
 }

JavaScript

 関数time(){
 /*時間*/
 var hourTxt = document.getElementById("hour");
 var hour = parseInt(document.getElementById("hour").innerHTML);
 /*分*/
 var minuteTenTxt = document.getElementById("minuteTen");
 var minuteBitTxt = document.getElementById("minuteBit");
 var minuteTen = parseInt(document.getElementById("minuteTen").innerHTML);
 var minuteBit = parseInt(document.getElementById("minuteBit").innerHTML);
 /*2番*/
 var secondTenTxt = document.getElementById("secondTen");
 var secondBitTxt = document.getElementById("secondBit");
 var secondTen = parseInt(document.getElementById("secondTen").innerHTML);
 var secondBit = parseInt(document.getElementById("secondBit").innerHTML);
 関数開始(){
 時間 - ;
 hourTxt.innerHTML = 時間;
 分十 = 5;
 minuteTenTxt.innerHTML = minuteTen;
 分ビット = 9;
 minuteBitTxt.innerHTML = minuteBit;
 2番目の10 = 5;
 secondTenTxt.innerHTML = secondTen;
 秒ビット = 9;
 secondBitTxt.innerHTML = secondBit;

 /*secondBit が減少し始める*/
 関数 second(){
  秒ビット--;
  secondBitTxt.innerHTML = secondBit;

  /*10秒後*/
  if(第2ビット < 0){
  2番目10--;
  secondTenTxt.innerHTML = secondTen;
  秒ビット = 9;
  secondBitTxt.innerHTML = secondBit;
  /*カウントダウンを続ける*/
  setTimeout(秒、1000);

  /*1分後*/
  if(secondTen < 0){
   分ビット--;
   minuteBitTxt.innerHTML = minuteBit;
   2番目の10 = 5;
   secondTenTxt.innerHTML = secondTen;
   秒ビット = 9;
   secondBitTxt.innerHTML = secondBit;

   /*10分後*/
   分ビット < 0 の場合
   分10--;
   minuteTenTxt.innerHTML = minuteTen;
   分ビット = 9;
   minuteBitTxt.innerHTML = minuteBit;
   }

   /*1時間後*/
   if(分10 < 0){
   時間 - ;
   hourTxt.innerHTML = 時間;
   分十 = 5;
   minuteTenTxt.innerHTML = minuteTen;
   分ビット = 9;
   minuteBitTxt.innerHTML = minuteBit;
   2番目の10 = 5;
   secondTenTxt.innerHTML = secondTen;
   秒ビット = 9;
   secondBitTxt.innerHTML = secondBit;
   }

   /*カウントダウン終了*/
   時間 < 0 の場合
   時間 = 0;
   hourTxt.innerHTML = 時間;
   分十 = 0;
   minuteTenTxt.innerHTML = minuteTen;
   分ビット = 0;
   minuteBitTxt.innerHTML = minuteBit;
   2番目の10 = 0;
   secondTenTxt.innerHTML = secondTen;
   秒ビット = 0;
   secondBitTxt.innerHTML = secondBit;
   clearTimeout(秒);
   タイムアウトをクリアします(開始);
   }
  }
  }それ以外{
  setTimeout(秒、1000);
  }
 }
 setTimeout(秒、1000);

 }
 タイムアウトを設定します(開始、1000);
}

実行ページ

終了ページ

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

以下もご興味があるかもしれません:
  • JavaScript setTimeout()の基本的な使い方は何ですか?
  • JavaScript setInterval() と setTimeout() タイマー
  • settimeoutを使用するだけで、JavaScriptの動作メカニズムを確認できます。
  • setTimeout を通して JS の動作メカニズムを理解する方法
  • setTimeoutからのjs関数実行プロセスを見てみましょう
  • js setTimeout を使用してラウンドロビンアニメーションを実装する方法を学ぶ
  • JavaScript タイマーの使用状況の分析 [setTimeout と clearTimeout]
  • JS のタイマー setInterval と setTImeout の this ポイント問題の詳細な説明
  • JavaScript の setTimeout について
  • JS for ループで setTimeout を使用する 4 つのソリューション

<<:  nginx/apache 静的リソースのクロスドメインアクセスの問題を解決する詳細な説明

>>:  忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

推薦する

ネイティブ JavaScript を使用して計算機のサンプル コードを開発する

計算機の主な機能は数値計算を実行することです。計算機機能の Web インスタンスを開発すると、js ...

グループ化されたクエリでのGROUP BYの使用とSQL実行順序の説明

SQL では、GROUP BY は SELECT の結果のデータをグループ化するために使用されます。...

XHTML CSS ページをプリンタ ページに変換する

<br />これまで、Web ページのプリンタ対応バージョンを作成するには、印刷したとき...

MySQL 5.7 のスロークエリログの時間がシステム時間より 8 時間遅れている理由の詳細な説明

遅いクエリをチェックすると、時間が正しくなく、システム時間とちょうど 8 時間異なっていることがわか...

Vue3.0 で Vuex 状態管理を開始する方法をすぐに習得します

Vuex は、Vue.js アプリケーション専用に開発された状態管理パターンです。集中型ストレージを...

ウェブデザインで注意すべき検索最適化の知識

1. 新サイトホームページのリンクレイアウト1. リンク配置の位置:リンク配置の位置によって、リンク...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

Tomcat マルチインスタンスの展開と構成の原則

1. ファイアウォールをオフにし、Tomcatのインストールに必要なソフトウェアパッケージを/opt...

HTML に画像が存在しない場合にデフォルトの画像を表示する方法の例

画像リンク <img src="" /> jsを使用してURLが有効...

サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

目次画像をプルするイメージを実行する(コンテナを生成する)コンテナを起動するコンテナに入るすべてのミ...

MySQL の count()、group by、order by の詳細な説明

最近、IM を実行するときに、これらの 3 つのキーワードを同時に使用したときに問題が発生しました。...

MySQL 5.0.96 for Windows x86 32 ビット グリーン簡易版インストール チュートリアル

MySQL 5.0 は、いくつかの「高度な機能」があるため定番となっています。これは、Windows...

React+tsは二次リンク効果を実現します

この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...

MySQL での varchar 型の日付の比較、並べ替え、その他の操作の実装

MySQL を使用する場合、日付は通常、datetime や timestamp などの形式で保存さ...

jQuery はテーブルのページング効果を実装します

この記事では、テーブルのページング効果を実現するためのjQueryの具体的なコードを参考までに紹介し...