如果声明基于onclick在javascript中

时间:2012-12-22 17:13:53

标签: javascript

我正在使用一个功能,当您单击窗口中的某个位置时,该功能会更改浏览器中的图像。我想在一定次数的点击后弹出一条提醒信息。我以为你只需要将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!");
    }
}

2 个答案:

答案 0 :(得分:0)

您的a变量是多余的,错误的。您已经检查了imageindex函数中的changeImage,我不知道您为什么要将它与数字的第三个索引进行比较...

只需将您的提醒添加到将if设置为零的imageIndex块。

答案 1 :(得分:0)

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

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

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