<html>
<head>
<title>Array of images</title>
<script type="text/javascript">
var myPics = new Array[3];
myPics[0] = "./img/blue.png";
myPics[1] = "./img/red.png";
myPics[2] = "./img/yellow.png";
var counter = 0;
function preImg(){
alert(counter);
if(counter == 0)
counter = 4;
counter --;
alert(counter);
document.getElementById("coloredImg").src = myPics[counter];
}
function nextImg(){
if(counter == 3)
counter = -1;
counter ++;
document.getElementById("coloredImg").src = myPics[counter];
}
</script>
</head>
<body>
<img src="./img/blue.png" id="coloredImg" alt="Image not found"/>
<input type="button" onclick="preImg()" value="Previous"/>
<input type="button" onclick="nextImg()" value="Next"/>
</body>
</html>
私が遭遇する問題は、カウンター変数が関数内で定義されていないことです。たとえば、関数 preImg を呼び出すと、undefined (ちょうど 0 であるべき場合) でアラートが表示され、3 である必要がある場合に 2 番目のアラートで NaN が表示されます。関数が「var カウンター」を認識しないのはなぜですか? 変数 mypics でも同じことが起こると思いますか。ありがとう!