こんにちは!Ryuseiです。
今回は、HTMLとJavaScriptの基本的なつなげ方、動かし方について学んだことをまとめていきます!
HTMLで作った要素にJavaScriptで動きをつけられるようになると、サイト作りが一気に楽しくなるので、しっかりと覚えていきたいと思います
HTMLの要素をJavaScriptで操作する方法
まず、HTMLで作った要素をJavaScriptから操作するには、document.getElementById("id名")
を使います
たとえば、タイマーの部分を取得したい場合はこんな感じです。
document.getElementById("timer")
これでHTMLの<div id="timer">
とかの部分を取れるようになります
表示内容を変えるには .textContent
を使う!
HTMLの中身を書き換えるには .textContent
が便利です!
たとえば、timer
の中の文字を「Hello!」に変えたいときは、
timer.textContent = "Hello!"
と書くだけでOK!
これで、JavaScriptからHTMLの表示を自由に変えられます✨
現在時刻を取得する方法
「今の時間」を取得したいときは、new Date()
を使います!
さらに .getHours()
、.getMinutes()
、.getSeconds()
を組み合わせると、時・分・秒をそれぞれ取れます。
一定時間ごとに繰り返す処理
1秒ごとにカウントアップしたりするには、setInterval(関数, ミリ秒)
を使います!
たとえば、1秒ごとなら
setInterval(func, 1000)
これで、指定した関数が1秒ごとに実行されるようになります!
数字を「0埋め」で見た目を整える
時計表示で「1分3秒」より「01:03」としたいときは、次のような「0埋め」関数を作ると便利!
function zeroFill(num) {
return ('0' + num).slice(-2);
}
これで zeroFill(3)
とすると "03"
になります!
表示をきれいに整えるときに大活躍です✨
ボタンと処理をつなげる(イベント処理)
ボタンをクリックしたときに関数を動かすには、addEventListener
を使います!
たとえば「スタートボタン」を押したら start
関数を動かす場合は
document.getElementById("start").addEventListener("click", start);
これでボタンがクリックされたときに start
関数が動くようになります!
⚠️注意点として、スタートボタンを何回も押すと処理が重複してしまう場合があるので、
「すでに動いているなら何もしない」チェックも大事です!
if (intervalId !== null) return;
見た目はCSSで整える
タイマーの「中身」はJavaScriptで作るけど、見た目のデザインはCSSで整えます!
CSSは <head>
内に以下のように書いて読み込みます
<link rel="stylesheet" href="style.css">
学んだこと&感想
動かして ➔ 動かない ➔ 直す、の繰り返しが成長のカギだなと思いました。
完璧じゃなくても、少しずつ「自分で動かせた!」が大事だと思ったのでこれからも地道に勉強と制作を続けていきたいと思います。
困ったときの検索ワード例
やりたいこと | 検索ワード例 |
---|---|
0埋めしたい | JavaScript 0埋め |
一定時間ごとに処理したい | JavaScript setInterval 使い方 |
ボタンを押したときに関数を動かしたい | JavaScript ボタン クリック イベント |
次回は、学んだことを使って、もっと色々な動きをページに加えていきます。
これから自分で書いたコードやサイトの様子も載せていくので楽しみにしていてください。
また進捗を書いていきます!
-
【第1回】Next.js × Firebaseチャット構想
こんにちは、Ryuseiです! 今回は、自作のNext.jsアプリにチャット機能を組み込むための構想と、試行錯誤のプロセスを振り返ります。 開発の目的 技術構成…
-
Claude Artifactsが進化:誰でもAIアプリを構築・共有できる時代へ
こんにちは、Ryuseiです! 今回は技術の進化がもたらす新しい可能性についての話題です。2025年、Anthropicの生成AI「Claude」に革新的な新機…
-
【Dify旅行記】地元発!個人開発で作る旅行提案チャットアプリのチャットフロー設計
こんにちは。今回は、地元の魅力を発信しながら、旅行の提案をしてくれるチャットアプリをDifyで個人開発した際のチャットフロー設計についてご紹介します。ブロックの…
-
Googleが新たに発表した「A2A」(Agent2Agent)プロトコルとは?
AI時代のインフラとなるか?Googleが仕掛ける“Agent2Agent(A2A)”の衝撃 2025年4月、Googleは異なるAIエージェント同士の通信を可…