img タグの画像を動的に変更する
JavaScriptを利用して imgタグの画像を動的に変更するコードを紹介します。
概要
imgタグの画像を動的に変更する場合は、imgタグの要素を取得し srcプロパティを変更します。srcプロパティに変更する画像のURLを設定します。
書式
(img要素).src = (画像のURLまたはパス);
プログラム例
コード
下記のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
<script type="text/javascript">
function LinkClick(param) {
var elem = document.getElementById("image01");
switch (param) {
case 0:
elem.src = "img/winxp.jpg";
break;
case 1:
elem.src = "img/winvista.jpg";
break;
case 2:
elem.src = "img/win7.jpg";
break;
case 3:
elem.src = "img/win8.jpg";
break;
case 4:
elem.src = "img/win10.jpg";
break;
case 5:
elem.src = "img/win11.jpg";
break;
default:
elem.src = "img/win11.jpg";
break;
}
}
</script>
</head>
<body>
<p>Change images dynamically with JavaScript</p>
<img id="image01" src="img/win10.jpg" />
<hr />
<a href="javascript:void(0);" onclick="LinkClick(0);">Windows XP</a><br />
<a href="javascript:void(0);" onclick="LinkClick(1);">Windows Vista</a><br />
<a href="javascript:void(0);" onclick="LinkClick(2);">Windows 7</a><br />
<a href="javascript:void(0);" onclick="LinkClick(3);">Windows 8</a><br />
<a href="javascript:void(0);" onclick="LinkClick(4);">Windows 10</a><br />
<a href="javascript:void(0);" onclick="LinkClick(5);">Windows 11</a><br />
</body>
</html>
解説
画像の下部に表示される、Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows 11 のリンクをクリックすると上部の画像が変更される動作です。
リンクをクリックすると、LinkClick()関数が呼び出されます。どのリンクがクリックされたかは、LinkClick()関数のパラメーターで渡されます。
LinkClick関数中では、imgタグのidを利用して、getElementById メソッドでimgタグの要素を取得します。続いて、引数の値を判定してクリックされたリンクに応じた画像のURLをimgタグの要素のsrcプロパティに設定します。
function LinkClick(param) {
var elem = document.getElementById("image01");
switch (param) {
case 0:
elem.src = "img/winxp.jpg";
break;
case 1:
elem.src = "img/winvista.jpg";
break;
case 2:
elem.src = "img/win7.jpg";
break;
case 3:
elem.src = "img/win8.jpg";
break;
case 4:
elem.src = "img/win10.jpg";
break;
case 5:
elem.src = "img/win11.jpg";
break;
default:
elem.src = "img/win11.jpg";
break;
}
}
実行結果
上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。
画面下部の[Windows XP]のリンクをクリックします。下図の画面に変わります。上部の画像が変化することが確認できました。
[Windows Vista]のリンクをクリックします。上部の画像が変化します。
同様に[Windows 8]のリンクをクリックします。上部の画像が変化します。
一番下の[Windows 11]のリンクをクリックします。上部の画像が変化します。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。