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 での置換例の詳細な説明

推薦する

Dockerが独自のローカルイメージリポジトリを構築するための手順

1. 環境と準備1. Ubuntu 14.04 2.Docker環境2. 建設プロセス1. ミラーソ...

Docker 接続 MongoDB 実装プロセスとコード例

コンテナが起動した後まず管理者にログインして新しいユーザーを作成してください $ docker ex...

HTML タグ tbody の使い方と説明

tbody 要素は、thead 要素および tfoot 要素と組み合わせて使用​​する必要があります...

CentOS 6-7 PHPのyumインストール方法(推奨)

1. 現在インストールされているPHPパッケージを確認するyum list installed |...

Mysql は最大接続数を表示し、最大接続数を変更します

MySQL 最大接続数の表示と最大接続数の変更1. 最大接続数を確認する '%max_con...

Vueは物流タイムライン効果を実現します

この記事では、物流タイムライン効果を実現するためのVueの具体的なコードを例として紹介します。具体的...

Docker で Rancher をデプロイする方法 (落とし穴なし)

操作前に必ずお読みください:注意:管理に rancher を使用する場合は、k8s クラスターが構築...

Nginx キャッシュ ファイルと動的ファイルの自動バランス設定スクリプト

nginx Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー...

シンプルなスネークゲームを実現するネイティブjs

この記事では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

これらはすべて海外のE-WebTemplates WebサイトからのWebページテンプレートであり、...

VueでTypescriptの設定手順を使用する

目次1. TypeScriptが古いVueプロジェクトに導入されるVue+Typescript プロ...

UTF-8 および GB2312 ウェブエンコーディング

最近、多くの学生から Web ページのエンコーディングについて質問を受けています。gb2312 と ...

MySQLのファジークエリのような遅い速度を解決する方法

質問: インデックスは作成されているのに、Like ファジー クエリがまだ遅いのはなぜですか?インデ...

MySQLが大量のデータを処理する際にクエリ速度を最適化するいくつかの方法

実際に参加したプロジェクトでは、MySQL テーブルのデータ量が数百万に達すると、通常の SQL ク...

MySQL パラメータ関連の概念とクエリ変更方法

序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...