2012-12-22 56 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是一個數組。