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函数中检查了,我不知道您为什么要尝试将它与数字的第三个索引进行比较...

只需将警报添加到设置为零的if块即可。imageIndex

于 2012-12-22T17:17:53.183 回答
0

您可能希望将方法中的 if 语句更改.onclick为:

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

a变量被错误地声明和使用。如果您的目的是将点击次数与数组长度进行比较,那么您没有理由首先拥有它。您的首字母imageArray.length[3]也不正确。如果是一个数组,则x.length返回元素的数量。xx

于 2012-12-22T17:18:06.023 回答