2012-12-22 38 views
0

我正在使用一个函数,当您在窗口中单击某处时在浏览器中更改图像。我想在点击一定次数后弹出警告消息。我以为你只需将window.onclick函数设置为一个变量,并在其中创建一个if语句来检查点击次数是否超过了imageArray的长度。我是否应该将onlick函数设置为一个数字,以便可以进行正确比较?谢谢!如果语句基于javascripts中的onclicks

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!"); 
    } 
} 

回答

0

您的a变量是多余的和错误的。您已经在changeImage功能检查imageindex,我不知道为什么你试图把它比作一个号的第三个指数...

您的警报只需添加到if块,设置imageIndex到零。

+0

嘿谢谢你的回复。有趣的是,我辩论是否在我的语言经验水平中加入序言,但我想明白为什么要这么做?我虽然在这里的人会欣赏那些显然是新的语言的人,但正在给它一个去......干杯! –

+0

但真诚感谢!!!!! –

0

你可能想在你的.onclick方法来改变你的if语句这样:

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

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