
文字がカウントダウンする「残り時間」表示をJavaScriptで実装しよう
こんにちは!静岡県浜松市でWEBデザイナーをしています小瀧です。
期間限定のキャンペーンやセール、あるいはフォームの制限時間など、「あと〇〇秒で終了」「残り3分です」といったカウントダウン表示は、Web上でよく見かけますよね。
このような“残り時間”の表示は、ユーザーの行動を後押ししたり、緊急性を演出するのにとても効果的。
しかも、JavaScriptを使えば簡単に実装可能!
今回は、リアルタイムで文字が減っていくカウントダウンタイマーを、初心者の方でもすぐ使える形で丁寧に解説していきます。
残り時間のカウントダウンって、どこで使える?
カウントダウン表示の活用シーンは幅広く、以下のような場所で効果を発揮します。
- ECサイトの商品ページ(タイムセール)
- 申込・予約フォーム(残り時間制限あり)
- イベント・ライブ配信ページ(開始までのカウント)
- クイズや試験コンテンツの制限時間
このように、「時間に制限がある」ことを可視化するだけで、ユーザーの集中力や行動意欲がグッと上がるんです。
基本のカウントダウン:あと〇〇秒
最もシンプルな「〇〇秒後に終了」という形式から始めましょう。
1秒ごとに remaining の値を減らしながら、HTMLの表示も更新。
0秒になったら clearInterval() で止めて、"終了"の文字を表示しています。
See the Pen
Untitled by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.
応用:分・秒形式にする(残り2:59など)
もう少し実用的に、「残り 2分30秒」などと表示したい場合はこちら。
padStart(2, '0') を使って、秒数が「00〜09」になるときも見やすく表示しています。
See the Pen
Untitled by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.
さらに進化:カウント終了後に画面遷移や非表示も可能
終了時に「ありがとうページ」へ遷移したい場合や、タイマーを非表示にしたいときは、clearInterval の後に以下を追加しましょう。
// ページ遷移
window.location.href = "/thanks.html";
// 要素を非表示
countdownEl.parentElement.style.display = "none";
ユーザー体験に応じて、バナー非表示・ポップアップ表示・フォーム無効化なども自在に設計できます!
注意点:時間の信頼性と整合性
JavaScriptはクライアントサイド(閲覧者のブラウザ)で動くため、悪意あるユーザーがタイマーを無視することも可能です。
そのため、重要な期限(支払い、申込締切など)は必ずサーバー側でもチェックするようにしましょう。
まとめ:カウントダウンは“今”動かす力を持っている
「あと何分」「あと10秒」といったリアルタイムのカウントダウンは、
Webサイトに緊張感と行動喚起をもたらしてくれます。
JavaScriptなら、ほんの数行で実装できて、しかも見た目にも直感的。
ユーザーの注目を引きたい・行動を促したいときは、ぜひこのカウントダウン演出を試してみてください!













