※当サイトの記事には、広告・プロモーションが含まれます。

JavaScriptの配列

<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>配列・画像入れ替え(授業回答)</title>
</head>

<body>
<h1>番号を入力すると画像が変わります。</h1>
<form name="form1">
数字:<input type="text" placeholder="1~4までの値" name="num" size="30">
表示:<input type="button" value="表示" onclick="showImg();">
</form>
<img src="" alt="" name="images">

<script>
var imgArray = ["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg"];
function showImg(){
var i = document.form1.num.value-1;
document.images.src = "image/" + imgArray[i];
}
</script>
</body>
</html>

form( name="form1" ),input( name="num" ),img( name="images" )タグにname属性をつけるのはjavascriptと紐付けしたいかららしいっす。

document.form1.num.valueはname="num"のinput type="text" のtextに入力された値=value。

document.images.srcはname="images"のimg src=""の""の中に入る値のことで、ここでは

"image/"+imgArray[i]ということになるようで、

imgArray[i]は配列imgArrayのi番目の値、iはdocument.form1.num.value-1なので、

name="num"のinput type="text" のtextに入力された値(ブラウザ上では、数字:の横の入力エリアに

入力された数字から1を引いたもの。)

["0番目","1番目","2番目","3番目",・・・"i番目"]

今回は配列の中身が5個なので、0<=i<=4になります。配列は0番スタートという理由から。

iが0の場合

imgArray[0]==1.jpg
     ↓
document.images.src="images/"+imgArray[0]
     ↓
document.images.src="images/"+1.jpg

<img src="document.images.src" alt="" name="images">

<img src="images/1.jpg" alt="" name="images">でimagesフォルダの中の1.jpgの中の画像を表示

というのが、name="num"のinput type="text"の中に数字が入力された状態で、

value="表示"のinput type="button"がクリックされた時、onclick="showImg();"で下記の

function showImg(){
var i = document.form1.num.value-1;
document.images.src = "image/" + imgArray[i];
}

が実行されるということになるようです。