0

ウィンドウのどこかをクリックするとブラウザの画像を変更する機能を使っています。一定のクリック数でアラートメッセージをポップさせたいのですが。window.onclick関数を変数に設定し、その中にifステートメントを作成して、クリック数がimageArrayの長さを超えているかどうかを確認すると思いました。正しく比較できるように、onlick関数を数値に設定する必要がありますか?ありがとう!

var myImage = document.getElementById("mainImage");

var imageArray = [
  "_images/hurley.png", "_images/lopate.png", "_images/pat.png",
  "_images/saveaya_b.png", "_images/saveaya.png", "_images/stanely.png"
]

var imageIndex = 0;

function changeImage(){
  myImage.setAttribute("src", imageArray[imageIndex]);
  imageIndex++;
  if(imageIndex >= imageArray.length){
    imageIndex = 0;
  }
}

var a = window.onclick = function(){
    changeImage();
    if (a >=  imageArray.length[3]){
        alert("you clicked me!");
    }
}
4

2 に答える 2

0

あなたのa変数は不必要で間違っています。あなたはすでに関数で をチェックしていますがimageindexchangeImageなぜそれを数値の 3 番目のインデックスと比較しようとしているのかわかりません...

ゼロifに設定されたブロックにアラートを追加するだけです。imageIndex

于 2012-12-22T17:17:53.183 に答える
0

.onclickおそらく、メソッドの if ステートメントを次のように変更する必要があります。

if (imageIndex > imageArray.length) {
    alert("you clicked me!");
}

a変数の宣言と使用が間違っています。クリック数と配列の長さを比較することが目的である場合、そもそもそれを使用する必要はありません。あなたのイニシャルimageArray.length[3]も間違っています。が配列の場合はx.length要素数を返します。xx

于 2012-12-22T17:18:06.023 に答える