JavaScript はフロントエンド Web ページでカウントダウンを実装します

JavaScript はフロントエンド Web ページでカウントダウンを実装します

ネイティブJavaScriptを使用してカウントダウンを簡単に実装します。参考までに、具体的な内容は次のとおりです。

効果

コード

// ハイライトされたブロック
<!DOCTYPE html>
<html>

<ヘッド>
 <メタ文字セット="utf-8">
 <タイトル></タイトル>

 <!-- css スタイル -->
 <スタイル タイプ="text/css">
  * {
   マージン: 0;
   パディング: 0;
  }

  .onsell {
   高さ: 400px;
   幅: 200ピクセル;
   境界線: 1px 実線 #F2F2F2;
   マージン: 10px;
   ボックスの影: 1px 2px 4px rgba(0, 0, 0, .2);
  }

  。箱 {
   /* 表示: なし; */
   フロート: 左;
   マージン: 328px 34px 0;
  }

  .box div {
   位置: 相対的;
   表示: インラインブロック;
   幅: 40px;
   高さ: 40px;
   背景色: #333;
   色: #fff;
   フォントサイズ: 20px;
   テキスト配置: 中央;
   行の高さ: 40px;
   ボックスの影: 1px 2px 4px rgba(0, 0, 0, .4);
  }
 </スタイル>

</head>

<本文>
 <!-- 要件: 製品は将来 1 日間販売され、js: hours: minutes: seconds を使用してカウントダウン効果が作成されます -->
 <div class="onsell">
  <div class="box">
   <div class="hour">00</div>
   <div class="minutes">00</div>
   <div class="seconds">00</div>
  </div>
 </div>
</本文>

</html>
<スクリプト>
 window.onload = 関数(){
  hour = document.querySelector('.hour') とします。
  minutes = document.querySelector('.minutes') とします。
  秒数を document.querySelector('.seconds') とします。

  // カウントダウンタイムスタンプは + を使用して時間オブジェクトをタイムスタンプに変換します。これは Date.now() と同等です。
  wantTime = +new Date('2021-3-17 18:00:00') とします。
  カウントタイム()

  タイマーをsetInterval(() => {
   カウントタイム()
  }, 1000)

  関数 countTime() {
   現在の時刻を +新しい日付() とします
   (希望時間 >= 現在の時間)の場合{
    let times = (wantTime - currentTime) / 1000 // 合計秒数 timestamp / 1000 = 秒数 let remainDay = parseInt(times / 60 / 60 / 24) // 残りは残りの日数です console.log(remainDay);
    残り日数が0の場合
     if(回数 < 1) {
     // カウントダウン終了 // ここで操作をトリガー}
     // 日数が1日未満の場合は、計時を開始します。setTime(times)
    }
   } それ以外 {
    時間.innerHTML = '00'
    minutes.innerHTML = '00'
    秒.innerHTML = '00'
   }
  }


  関数setTime(time) {

   // 大まかなバージョン let s = parseInt(time % 60)
   s = s < 10 ? '0' + s : s
   m = parseInt(時間 / 60 % 60) とします。
   m = m < 10 ? '0' + m : m
   h = parseInt(時間 / 60 / 60 % 24) とします。
   h = h < 10 ? '0' + h : h
   時間.innerHTML = h
   minutes.innerHTML = m
   seconds.innerHTML = 秒

  }

 }
</スクリプト>

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

以下もご興味があるかもしれません:
  • JavaScript の for ループと二重 for ループの詳細な説明
  • 画像のプリロードと遅延ロードを実装するJavaScript
  • JavaScript 配列を走査する 5 つの方法
  • JavaScript クラス配列の詳細な理解
  • JavaScriptは、ユーザーがチェックボックスをオンにする必要があるプロトコルの例を実装します。

<<:  Linux で docker-compose を使用したソフトウェア構成の詳細な説明

>>:  MySQL での置換例の詳細な説明

推薦する

CSSはスクロールを許可しながらスクロールバーを非表示にするためにオーバーフローを設定します

CSS は、スクロールを許可しながらスクロール バーを非表示にするために Overflow を設定し...

Nginx ドメイン名の書き換えとワイルドカードドメイン名の解決を設定する方法

この記事では、ドメイン名の書き換えとワイルドカードドメイン名の解決を行うための Nginx の設定方...

Vueプラグインの詳しい説明

要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....

Vueコンポーネントのカスタムイベントの詳細な説明

目次要約する <テンプレート> <div> 要素 <h2>{{メ...

Dockerでmysqlのルートパスワードを変更する方法

最初のステップはmysqlコンテナを作成することです docker exec -it コンテナID ...

Vue を使用してモバイル APK プロジェクトを完了することについての簡単な説明

目次基本設定エントリファイル main.jsアプリ.vue表紙ヘッダー検索バー本体当プロジェクトでは...

いくつかの重要なMySQL変数

MySQL 変数は数多くありますが、その中には注目に値するものもあります。ここでは、参考までに、注目...

DockerでPython環境をパッケージ化するプロセスの詳細な説明

docker パッケージング Python 環境の手順は次のとおりです。 1 pip listの下に...

JavaScript ループトラバーサルの 24 種類のメソッドをすべてご存知ですか?

目次序文1. 配列走査法1. 各() 2. マップ() 3. 〜のために4. フィルター() 5. ...

相対幅と絶対幅が競合する場合の HTML+CSS div ソリューション

相対幅と絶対幅が競合する場合のdivソリューション概要: 一般的に、絶対幅を使用する場合は px を...

Vueは画像のズームとドラッグをサポートするリッチテキストエディタを統合しています

必要:ビジネス要件によると、写真をアップロードできる必要があり、アップロードされた写真はモバイル端末...

CSS3 アニメーション ボールローリング JS コントロールアニメーション一時停止

CSS3 はアニメーションを作成でき、多くの Web ページのアニメーション画像、Flash アニメ...

MySQLはカバーインデックスを使用してテーブルリターンを回避し、クエリを最適化します。

序文カバーリング インデックスについて説明する前に、まずそのデータ構造である B+ ツリーを理解する...

MySQL での数値のフォーマットの詳細な説明

最近、仕事の都合で、MySQL で数字をフォーマットする必要がありましたが、インターネット上にはほと...

MySQL マルチテーブルクエリの具体例

1. SELECT句を使用して複数のテーブルをクエリするSELECT フィールド名 FROM tab...