- 締切済み
JAVASCRIPTの接続子について
始めまして、JAVASCRIPPTで以下の様なコードを書いているのですが 'img' + page;の部分でエラーになってしまいます。どなたか正しい書き方を御享受下さい。 //画像を最初にキャッシュする var img1 = new Image(); var img2 = new Image(); var img3 = new Image(); var img4 = new Image(); var page = 0; img0 = "image/ginotitle.JPG"; img1 = "image/Gino1page.JPG"; img2 = "image/Gino2page.JPG"; img3 = "image/Gino3page.JPG"; function moverts(){ switch(window.event.button) { case 1://************** 左クリック ********************************************* page = page - 1 ; //指定された画像を変更する document.getElementById("pic").src = 'img' + page; //id名「pic」の画像ソースをobjの画像ソースに書き換える document.getElementById("pic").src = 'img' + page; break; case 2://************** 右クリック ********************************************* page = page + 1 ; alert( = sns ); //指定された画像を変更する document.getElementById("pic").src = 'img' + page; //id名「pic」の画像ソースをobjの画像ソースに書き換える document.getElementById("pic").src = 'img' + page; break; } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- SortaNerd_
- ベストアンサー率59% (309/522)
「'img' + 0」というのは"img0"という内容のただの文字列であり、「img0」という名の変数とは別物です。 「img0」という名の変数を指定したいなら、 document.getElementById("pic").src = eval('img'+page); とeval関数を使えば可能です。 が、通常そのようなことはしません。今回のようなことをしたい場合は配列を使うのが普通です。 img = new Array(); img[0] = hoge1.jpg; img[1] = hoge2.jpg; … document.getElementById("pic").src = img[page]; なお、画像のキャッシュの仕方が間違っている気がしますが、詳しくないので説明はできません。