今すぐつくるの章では、HTML・CSS・JavaScriptをひとつのソースにまとめて、すぐに動かせるアプリをご紹介してきました。
今回はミニコデの強みでもある「タブごとにコードを書く方法」を学びます。
HTML・CSS・JavaScriptをタブごとに分けて書けば、見やすいソースになります。
ということで、今回はソースを分けて書くことに加えて、もう一つの画像タブを使って「ボタンを押すと画像が切り替わるアプリ」を作ってみましょう。
\ 今すぐタップ /
画像を準備しよう

画像タブに「cat.png」「dog.png」が表示されればOKです。
登録した画像は img/cat.png
のように呼び出せます。
HTMLタブに書く内容
まずは画面の骨組みを作ります。
<h1>画像を切り替えるアプリ</h1>
<button id="changeBtn">画像を切り替え</button>
<br>
<img id="photo" src="img/cat.webp" alt="画像">
<h1>
で見出し(タイトル)、<button id ="changeBtn">
でボタンのidを決定します。
<img id="photo" src="img/cat.webp" alt ="画像">
で画像のidと画像の保存先を設定しています。
これで土台は完成です。

ミニコデのプレビューでこんな感じに見えていればOKです。
CSSタブに書く内容
次に見た目を整えましょう。CSSはこちらです。
body {
text-align: center;
font-family: sans-serif;
padding: 20px;
background: #f0f8ff;
}
h1 { color: #333; }
img {
width: 250px;
border-radius: 12px;
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
margin-top: 16px;
}
button {
margin-top: 20px;
padding: 10px 20px;
border: none;
border-radius: 8px;
background: #4caf50;
color: white;
font-size: 16px;
cursor: pointer;
}
button:hover { background: #45a049; }
CSSも少しだけ解説しておきます。
こんな感じになればOKです。

JavaScriptタブに書く内容
最後に「動き」をつけます。
const btn = document.getElementById("changeBtn");
const photo = document.getElementById("photo");
// 画像タブのファイルを dataURL を保持
const CAT = __asset("img/cat.webp");
const DOG = __asset("img/dog.webp");
// 初期値を dataURL にそろえる
photo.src = CAT;
btn.addEventListener("click", () => {
photo.src = (photo.src === CAT) ? DOG : CAT;
});
何をしているのか、一つずつ説明してきます。

ここでは、もし今の画像がネコならイヌに、イヌならネコに切り替えるようにしています。
まとめ
HTML・CSS・JavaScriptを別々のタブに書きつつ、画像ファイルも設定する方法をお伝えしました。
一つ一つのファイル役割が違うので、個別にコード書いた方が圧倒的に内容が分かりやすくなるし、AIにソースを出力してもらうときも、より大きなソースを頼むことができるようになります。
ちなみにミニコデ上でアプリが動作しているので分かりづらいかもしれませんが、実はこのタブ構造は実際のアプリのフォルダ構造を意識して作られています。
📁
∟index.html
∟style.css
∟main.js
∟📁img
∟cat.webp
∟dog.webp
ミニコデからファイルをダウンロードするとわかりますが、実はこんな構造で動作しています。

フォルダ構造?何の話?
フォルダの話もそうですが、プログラムの文法に関しても「本気で開発」編でお伝えしたいと思いますので、ぼんやり理解してくれればいいと思います。
今回はここまで!
残念パパいのっちでした。
では、また。
コメント