【JavaScript入門】ボタンをクリックして文字を変える方法をやさしく解説

JavaScript入門

この記事では、JavaScript初心者でも簡単に作れる “ボタンで文字を変える” ミニアプリを紹介します。
こんなミニアプリを作りながら、少しずつJavaScriptに慣れてきました。学習にはUdemyの講座を活用しています。

完成形を触ってみよう!

まずは動かしてみましょう。
ボタンをクリックすると、表示される文字が変わります。

👉 JavaScriptで「ボタンクリック→動きが変わる」仕組みを体験できます。

はじめに

JavaScriptって聞くと「難しそう」と感じる人が多いかもしれません。
でも今回紹介するのは、ボタンを押すと文字が変わるだけの、超シンプルなしくみです。

この記事では、HTMLとCSSの基本を理解し、VSCodeなどのエディタを使ってコードが書ける方を対象にしています。
(HTMLやCSSの基礎が不安な方は、Udemyなどの入門講座から始めるのがおすすめです)

少しでも動くものが作れると、「プログラミングって楽しいかも」と感じられるはず。
むずかしい言葉はできるだけ使わず、やさしく解説していきます!

コードを書いてみよう

それでは、実際にコードを書いてみましょう。
今回は HTML(見た目の部分)と JavaScript(動きの部分)をそれぞれ分けて紹介します。

「コード」と聞くと難しく感じるかもしれませんが、大丈夫。
一行ずつ、どんな意味なのかを丁寧に説明していきます。

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

まずは、画面に表示される部分(HTML)です。
次のコードをコピーして、VSCodeなどのエディタに貼り付けてみてください。

<div id="changeGreet">
  <p id="greetArea"></p>
  <button id="changeBtn">チェンジ!</button>
</div>

この部分では、HTMLでボタンと表示エリアを作り、それぞれにidを付けてJavaScriptから操作できるようにしています。

  • <p> タグで文字の表示エリアを作成
  • <button> タグでクリック用のボタンを作成
  • それぞれに id を設定して JavaScript と連携

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

次に、ボタンを押したときの動きを書きます。
こちらは<script> タグで書きましょう。

<script>
const greets = ['こんにちは', 'おはよう', 'こんばんは', 'ハロー', 'お疲れ様です'];

const greetArea = document.querySelector('#greetArea');
const changeBtn = document.querySelector('#changeBtn');

let greetIndex = 0;
greetArea.textContent = greets[greetIndex];

changeBtn.addEventListener('click', () => {
  greetIndex = (greetIndex + 1) % greets.length;
  greetArea.textContent = greets[greetIndex];
});
</script>

このコードでは、ボタンをクリックするたびに、あいさつの文字が順番に切り替わるしくみを作っています。
それぞれの行の役割は次のとおりです。

  • greets は、表示させたいあいさつのリスト(配列)
  • let greetIndex = 0 は、「今どのあいさつを表示しているか」を示す番号(インデックス)を初期化している
  • greetArea.textContent = greets[greetIndex] は、最初のあいさつ(greets[0])を表示している
  • querySelector() で、HTML内の表示エリアとボタンの要素を取得している
  • addEventListener() で、ボタンが押されたときに行う処理を設定している
  • greetIndex = (greetIndex + 1) % greets.length は、「次のあいさつへ進む」ためにインデックスを1つ増やし、最後まで行ったら最初に戻るようにしている
    • greets.length は、配列の中に入っている要素の数を表す(この例では5つ)
    • % は割った余りを求める演算子で、要素の数で割ることで、配列の最後まで行ったら最初に戻るしくみになっている
  • greetArea.textContent = greets[greetIndex](ボタンを押した後の処理)で、新しいあいさつを画面に表示している

ワンポイント解説:このコードの見どころ

今回のコードでは、次の3つがポイントです。

  • addEventListener()
     ボタンがクリックされたときに「何をするか」を定義します。このイベント設定がないと、クリックしても何も起きません。
  • textContent
     取得した要素の中身を書き換える命令です。これを使うことで、あいさつの文字をリアルタイムに切り替えられます。
  • %(割った余り)を使ったループ
     配列の最後まで表示したら、最初に戻るしくみです。( greetIndex + 1 ) % greets.length の形で、要素数を超えずに繰り返すことができます。

これらが合わさることで、「ボタンを押すと文字が切り替わる」しくみが動いています。「なるほど、こうすれば動くのか!」という感覚を味わってもらえたらうれしいです。

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

JavaScriptの動きはうまくいきましたか?
ここからは ちょっとだけ見た目を整える方法(CSS) をご紹介します。
※ 興味のある方だけでOKです!

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

#changeGreet {
  max-width: 600px;
  width: 100%;
  margin: 30px auto;
  padding: 30px 0;
  text-align: center;
  border: 1px solid #ccc;
}
#changeGreet p {
  margin-bottom: 30px;
  font-size: 1.4em;
}
#changeGreet button {
  padding: 8px 16px;
  font-size: 1.1em;
  cursor: pointer;
  background: #00008b;
  color: #ffffff;
  box-shadow: 2px 2px 4px #333;
}
#changeGreet button:hover {
  background: #00488b;
}
#changeGreet button:active {
  transform: translateY(2px);
  box-shadow: 0 0 1px #333;
}

このCSSをHTMLと同じファイルの <style> タグの中に書くか、別のCSSファイルに記述して読み込めばOKです。

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

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

今回紹介したような「ボタンクリックで文字を変える」といった基本的なしくみも、小さな成功体験の積み重ねです。

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

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

(HTML/CSSの基礎からJavaScriptの基礎、DOM操作まで体系的に学べます)

迷ったときは、まずはセールのタイミングで講座ページをのぞいてみるのがおすすめです!

関連リンク

💻 おすすめのUdemy講座はこちら
👉 独学でWebアプリが作れる!初心者におすすめのUdemy講座【体験レビューあり】

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