今、私はウェブプログラミング、特にjavascriptを初めて使い慣れました。私は、ユーザーがイメージをクリックすると、Webページ上のイメージとそのテキストを更新するスクリプトを作成しようとしています。おそらく配列を通過するときにテキストが定義されなくなる
//Images array
imgs = Array("test1.jpg", "test2.jpg", "test3.jpg");
//Names array
names = Array("Test1", "Test2", "Test3");
//Holds how many times our page has been clicked
var click = 0;
//Another click var
var click2 = 0;
//change function
function change()
{
//Get the ID of 'nam', and start incrementing the elements in our array
document.getElementById("nam").innerHTML = names[++click2];
//Get an element with the ID 'first', and start incrementing the elements in our array
document.getElementById("first").src = imgs[++click];
//If the user clicks to the end of the gallery
if(click==2)
{
click = -1;
}
if(click2==2)
{
click = -1;
}
}
これを行うための最善の方法ではありませんが、このコードは最初に動作します:ここではコードです。しかし、3番目の画像をクリックして最初の画像に戻ると、画像は正常に機能しますが、テキストは「未定義」になります。私は周りを探索しましたが、私はこのコードで本当に「間違っている」ものを見つけることはできません。
何か助けていただければ幸いです。 VAR名で
'[..]'で配列を作成してください。 'Array(..) 'ではなく。あなたの例では実際には 'new Array(..)'でなければなりません。 – 0x499602D2
Jsを初めて使い慣れたことを知りましょう: 'Array'コンストラクタと' Object'コンストラクタを明示的に使うのは悪い習慣であることに注意してください。 'new'キーワードを省略するとさらに悪化します。ですから、(_bad_) 'new Array();または一般的に使用されている(より良い代替として受け入れられる)' var myArray = []; var myObject = {}; ' –