2012-10-03 35 views
4

在我的拼寫遊戲中,有一個填充了單詞的網格。這些單詞是隱藏的,遊戲的目的是拼出單詞,藉助聲音和圖片突出顯示。讓用戶在三次嘗試後繼續

要突出顯示一個單詞,請按「下一步」按鈕。目前,如果你正確地拼寫單詞,它說「做得好」,你可以前進到下一個單詞,但如果你拼寫錯誤,你必須不斷嘗試單詞,直到它完成。由於遊戲是爲兒童設計的,我不認爲這是最好的方法,所以我想這樣做,所以你可以在3次不正確的嘗試後前進。

我已經玩了很多腳本,試圖將計數器放在不正確的嘗試上,然後使按鈕處於活動狀態,但似乎無法使其正常工作。有人可以幫幫我嗎?

這裏是按鈕的腳本

var noExist = $('td[data-word=' + listOfWords[rndWord].name + ']').hasClass('wordglow2'); 
if (noExist) { 
    $('.minibutton').click(); 

} else { 
    $('.minibutton').click('disable'); 
    $("#mysoundclip").attr('src', listOfWords[rndWord].audio); 
    audio.play(); 
    $("#mypic").attr('src', listOfWords[rndWord].pic); 
    pic.show(); 
} 
}); 

「wordglow2」是,如果單詞拼寫正確應用該樣式。這裏是一個小提琴,以幫助瞭解... http://jsfiddle.net/smilburn/ZAfVZ/4/

+1

你在撥弄了太多的代碼的註釋。編輯它以便它只有相關的代碼位。 – codemonkey

+0

你需要點擊進入自己的功能。當你調用'click'('disable')'什麼也不做。你應該使用'.on()'和'.off()'。 – Ohgodwhy

+0

@codemonkey你想要一個簡化的版本嗎? – sMilbz

回答

2

你可以做的是使用jQuery的.data()函數爲每個TR附加一個計數器。如果嘗試失敗,請增加計數器並根據該計數器決定是否禁用或啓用該按鈕。我修改了您發送的jsfiddle並添加了此行爲。看看行(你可以做一個按Ctrl + F查找它)有//編輯在這裏

http://jsfiddle.net/dflor003/ZAfVZ/7/

+0

謝謝大家幫忙@DanilF – sMilbz

2

一個全局變量添加到您的腳本

var numberOfTries = 0; 

接下來,在你的$(「拖‘)上(’點擊」)偵聽器回調,你有一個if語句,確定單詞是正確或不正確的:

if (!$('.drop-box.spellword:not(.occupied)').length) 

裏面的if語句,重置numberOfTries 0內部else語句,你會放:

numberOfTries++; 
if (numberOfTries >= 3) 
{ 
    $('.minibutton').prop('disabled', false); 
} 

這將計算嘗試次數,在第三次嘗試後,將啓用「下一步」按鈕。一旦用戶得到一個正確的單詞,它會將該變量重置爲0.

+0

任何機會你有一個小提琴,我似乎無法得到它的工作? @Kyle Somogyi – sMilbz

+0

以下是我曾嘗試過的http://jsfiddle.net/smilburn/Dxxmh/20/ @Kyle Somogyi – sMilbz

相關問題