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パスワードとログインエラーの問題について簡単に説明します

推薦する

Centos8 システムの VMware インストール チュートリアル図 (中国語グラフィカル モード)

目次1. ソフトウェアとシステムイメージ2. 仮想マシンを作成する3. CentOS8をインストール...

MySQL 実行ステータスの表示と分析

MySQL のパフォーマンスに問題があると思われる場合は、通常、まずshow processlist...

MySQL 8.0.21 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.21のインストールと設定方法を記録してみんなで共有します。 1. ダウンロード1...

フロントエンドネットワーク、JavaScriptの最適化、開発のヒントについて簡単に説明します。

1. ネットワークの最適化YSlowには23のルールがあります。これら数十のルールは、主に、不要な...

QQブラウザ機能を実装するためのCSS

コード知識ポイント1. fullpage.jsを組み合わせてフルスクリーンスクロールを実現する2. ...

フロントエンド例外 502 不正なゲートウェイの原因と解決策

目次502 不正なゲートウェイ エラーの発生1. 502 不正なゲートウェイ エラーとは何ですか? ...

MySQL インストール プロンプト「詳細なヘルプについては NET HELPMSG 3534 と入力してください」の解決方法

今日、MySQL をインストールすると次のエラー メッセージが表示されます。 かなり長い時間ネットで...

複数のプロジェクトをデプロイする Docker nginx の例

前提条件1. ローカルコンピュータとサーバーにDockerがインストールされています。ダウンロード方...

Linux xargsコマンドの使用

1. 機能: xargs は、stdin 内のスペースまたは改行で区切られたデータをスペースで区切ら...

CSS3 カウントダウン効果

成果を達成する実装コードhtml <div クラス = 'ラッパー'> ...

MySQL 5.7 zip アーカイブ バージョンのインストール チュートリアル

この記事では、MySQL 5.7 zipアーカイブ版のインストールチュートリアルを参考までに紹介しま...

Win7 の VMware 仮想マシンに Linux7.2 をインストールするインターネット アクセス構成チュートリアル

参考までに、win7システム上のVMware仮想マシンにlinux7.2インターネットアクセス構成を...

Hyper-v仮想マシンを使用してCentos7をインストールする

目次導入準備するシステムイメージをダウンロードHyper-Vを有効にする新しい仮想ネットワークスイッ...

RedHat 6.5/CentOS 6.5 に MySQL 5.7.20 をインストールするための詳細なチュートリアル

rpmインストールパッケージをダウンロードするMySQL公式サイト: https://dev.mys...