JavaScript:キャラを選ぶ

JavaScript

selectタグで選択したキャラを選ぶ、という操作でimgタグの画像ファイルを変更するサンプルです。

サンプルで使った素材

5つの画像ファイルを使っています。No Imageという画像が最初の状態です。
選択できるキャラ画像は4種類です。
右クリック > 名前をつけて画像を保存… でダウンロードできます。

ソースコード

index.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link rel="stylesheet" href="style.css">
	<script type="text/javascript" src="main.js"></script>
	<title>JavaScript: キャラを選ぶ</title>
</head>
<body>
	<h1>JavaScript: キャラを選ぶ</h1>
	<div>
		どれにしますか?
		<select id="selectCharacter">
			<option selected disabled value="no_image.png">選択してください...</option>
			<option value="frog.png">カエル</option>
			<option value="pig.png">ブタ</option>
			<option value="crow.png">カラス</option>
			<option value="dragonfly.png">トンボ</option>
		</select>
	</div>
	<div>
		<img id="selectImage" src="no_image.png" width="400" height="300" alt="選択画像">
	</div>
</body>
</html>

style.css

/* style.css */
*{
	margin: 0;
	padding: 0;
}
body{
	font-size: 12pt;
    margin: 1em;
}
h1{
	border-bottom: solid 1px #000;
}
img{
    border: solid 1px #ddd;
    border-radius: 5px;
}

main.js

// ID: selectタグ, imgタグ
let selectCharacter, selectImage;

// セレクトタグで選択した画像に変更する
function setImage(){
    // 選択したキャラの画像ファイル名を取得
    let imageFileName = selectCharacter.value;
    // imgタグの画像を選択したキャラに変更
    selectImage.src = imageFileName;
    console.log(selectCharacter.value);
}

// 起動時の処理
window.addEventListener("load", ()=>{
    // DOM取得
    selectCharacter = document.getElementById("selectCharacter");
    selectImage = document.getElementById("selectImage");
    // セレクトタグイベント設定
    selectCharacter.addEventListener("change", setImage, false);
});

コメント

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