プログラミングに挑戦しよう!

独学でWebアプリが作れる!
初心者におすすめの動画学習サービス

詳細はこちら

【JavaScript入門】ボタンをクリックしてカウントダウン!0でアラートを出す方法

プログラミング学習

「ボタンをクリックしたら数字が減っていく」──そんなシンプルな動作は、JavaScriptの基本だけで実現できます。

この記事では、JavaScript入門として「ボタンクリックでカウントダウンする方法」をわかりやすく解説します。
基本的な文法を一通り学んだけれど、実際に動くものを作ったことがない方に向けて、丁寧にステップごとに解説しています。
実際に動かしながら学べるので、ぜひ一緒に試してみてください!

✅ まずは実際に動かしてみましょう!

最初は、赤いボタンに「PUSH」と表示されています。
ボタンをクリックするたびに、表示されている数字が1ずつ減っていきます。
数字が0になると、ボタンの文字が「終了」に変わり、「数字を10に戻す」というアラートが表示されます。
OKを押すと、数字とボタンの表示がリセットされ、最初の状態に戻ります。

👉 JavaScriptの「イベント」と「条件分岐」で、こんな動きが簡単に作れるんです。

✅ はじめに

「ボタンをクリックしたら数字が減る」
たったそれだけのことでも、JavaScriptの基本がしっかり詰まっているんです。

  • イベント(クリックに反応)
  • 条件分岐(0になったら止める)
  • DOM操作(表示の更新)

初心者の方には、最初の一歩としてちょうどいい題材です。
このあと、HTML・JavaScriptのコードを一緒に書きながら学んでいきましょう!

✅ コードを書いてみよう

HTML:ボタンと表示エリアを用意する

<div class="countDown">
  <p class="count"></p>
  <button class="btn">PUSH</button>
</div>

<p>タグに現在の数字を表示します。

<button>タグを押すと数字が減ります。

JavaScript:ボタンを押したときの動きを作る

  <script>
    const count = document.querySelector('.count');
    const btn = document.querySelector('.btn');

    let num = 10;
    count.textContent = num;

    function reset() {
      num = 10;
      count.textContent = num;
      btn.textContent = 'PUSH';
      btn.disabled = false;
    }

    btn.addEventListener('click', () => {
      num--;
      count.textContent = num;

      if (num === 0) {
        btn.textContent = '終了';
        btn.disabled = true;

        setTimeout(() => {
          alert('数字を10に戻す');
          reset();
        }, 100);
      }
    });
  </script>

今回のコードは <script> タグの中に直接書いていますが、
実際の開発では、外部ファイルにまとめて読み込む方法が一般的です。

<script src="app.js"></script>

このように JavaScript を別ファイル(たとえば app.js)に分けて、
</body> タグの直前に読み込むのが基本的な書き方です。

なぜなら、HTMLの要素(ボタンや表示部分など)がすべて読み込まれたあとにJavaScriptを実行することで、エラーが起きにくくなるからです。

それでは、コードを詳しく説明していきます。

数字(10)を num に入れて、画面に表示

let num = 10;
count.textContent = num;

let num = 10; で数字のスタート値を用意して、
count.textContent = num; でその数字を画面に表示しています。
ここでの count.textContent は、HTMLの <p> タグの中身を変更するために使っています。

addEventListener を使ってクリックに反応

btn.addEventListener('click', () => {
  // クリックされたときの処理
});

addEventListener は、「このボタンがクリックされたら、〇〇をしてね」とJavaScriptに教える命令です。
今回は、「ボタンをクリックしたときに数字を1つ減らす」という動きになります。

条件分岐で「0になったときだけ」特別な動き

if (num === 0) {
  btn.textContent = '終了';
  btn.disabled = true;
  ...
}

if は「もし~なら」という意味。
ここでは、「数字が 0 になったら ‘終了’ と表示して、ボタンを押せなくする」という命令です。

ちなみに === は「厳密な比較」を意味していて、「数値の0と完全に一致するか?」をチェックしています。

reset() 関数で元の状態に戻す

function reset() {
  num = 10;
  count.textContent = num;
  ...
}

reset() は、「数字を10に戻して、ボタンをもう一度押せるようにする」ための関数です。
カウントが0になると一度「終了」と表示されますが、少し時間をおいて reset() が実行されることで、また最初からやり直せるようになっています。

✅ おまけ:見た目を少し整えたい方へ

せっかくなら、見た目もちょっとカッコよくしたいですよね。
CSS を使えば、簡単にスタイリングできます!

スタイリングのコード(CSS)

.countDown {
  padding: 30px;
  text-align: center;
}
.count {
  font-size: 3em;
  margin-bottom: 20px;
}
.btn {
  display: inline-block;
  width: 180px;
  height: 180px;
  margin: 0 auto;
  border-radius: 50%;
  font-size: 40px;
  color: #ffffff;
  background-color: #ff0000;
  box-shadow: 1px 10px #800000;
  cursor: pointer;
}
.btn:active {
  box-shadow: 1px 5px #800000;
  position: relative;
  top: 5px;
}

※この記事では、見た目を整えるCSSについては深く解説していません。興味がある方は、ぜひご自身でいろいろ試してみてください!

👇 次に紹介するUdemyの講座では、HTML・CSSの基礎から学べます。

✅ もっと本格的に学びたい方へ

今回のコードは「JavaScriptっておもしろい!」と思ってもらうための入り口です。
さらにレベルアップしたい方には、動画で学べる講座もおすすめです。

「もう少ししっかりJavaScriptを学んでみたい」「プロっぽい動きを作ってみたい」と思った方は、私が実際に学んだ UdemyのWeb開発講座もぜひチェックしてみてください👇

📘【世界で90万人が受講】Web Developer Bootcamp(日本語版)

※このリンクは広告です(アフィリエイトリンク)

Udemyで講座を見る

HTML/CSSの基礎からJavaScriptの基礎、Node.jsやExpressなど専門的な内容まで学べます。

💸 セール情報
Udemyは月に数回セールをやっていて、90%オフになることも!
気になる講座はセール時にチェックしておくのがおすすめです。

関連リンク

📚 「Udemyってなに?」という方はこちら
👉 独学でWebアプリが作れる!初心者におすすめのUdemy講座と学習のコツ

🎯 カウントダウン機能を使った自作アプリ👇
👉 【ボタン連打】JavaScript初心者が簡単なWebアプリを作成!

💻 textContentを使ってミニアプリを作ろう
👉 【JavaScript超入門】ボタンをクリックして文字を変える方法をやさしく解説

タイトルとURLをコピーしました