SEARCH

CATEGORY

[JavaScript] 期間限定表示を実装する方法:カウントダウン付きの応用例も紹介

JavaScriptを使えば、「特定の期間だけバナーやお知らせを表示する」といった動きを簡単に実装できます。

たとえば「2026年5月1日10:00 ~ 2026年5月31日23:59」の期間中のみ、キャンペーンバナーを表示するといった使い方が可能です。

この記事では、基本的な実装方法からカウントダウン付きの応用例までを、実務で使いやすい形でご紹介します。

基本の実装

まず、HTML側では要素を非表示にしておき、JavaScriptで現在日時を判定して表示を切り替えます。

HTML

CSS

JavaScript

デモ

See the Pen [JavaScript] 特定の期間だけ、要素を表示する by mkl may (@mkl-may) on CodePen.

解説

① Dateオブジェクトで日時を判定

  • ISO8601形式で指定すると正確に日時を扱えます
  • +09:00 を付けることで、日本時間として明示できます(重要)
  • Date.now() は現在時刻をミリ秒で取得する最もシンプルな方法です

ポイント
タイムゾーンを省略すると、ユーザー環境によってズレる可能性があります。

② classListで表示制御

  • style直接操作よりも保守性が高い
  • CSSで制御できるためデザイン変更に強い

③ setIntervalは必要な場合のみ

  • 常時実行は不要なケースが多い
  • 無駄な処理を減らしてパフォーマンス改善

応用例:カウントダウン付きの期間限定表示

状態に応じてメッセージを切り替える実装です。

  • 開始前:「開始まで」
  • 開催中:「終了まで」
  • 終了後:「終了しました」

HTML

CSS

JavaScript

デモ

See the Pen [JavaScript] カウントダウン付きの期間限定表示 by mkl may (@mkl-may) on CodePen.

まとめ

今回ご紹介した方法を使えば、キャンペーン情報や期間限定コンテンツの表示を自動で制御できます。

特に、JavaScriptで日時を判定することで、公開・非公開の切り替えを手動で管理する必要がなくなります。

また、タイムゾーンやパフォーマンスを意識した実装にすることで、より実務でも安心して使える仕組みにできます。

サイトの演出強化や運用効率化に、ぜひ活用してみてください。