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/

4

2 回答 2

2

将全局变量添加到您的脚本

var numberOfTries = 0;

接下来,在您的 $('.drag').on('click') 侦听器回调中,您有一个 if 语句来确定单词是正确还是不正确:

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

在 if 语句中,将 numberOfTries 重置为 0。在 else 语句中,您将输入:

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

这将计算尝试次数,并在第三次尝试后启用“下一步”按钮。一旦用户得到正确的单词,它将将该变量重置为 0。

于 2012-10-04T21:35:02.453 回答
2

您可以做的是使用 jQuery 的 .data() 函数为每个 TR 附加一个计数器。如果尝试不成功,请增加计数器并据此决定是禁用还是启用按钮。我已经修改了您发送的 jsfiddle 并添加了此行为。查看具有注释的行(您可以按 Ctrl+F 找到它) // Edits here

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

于 2012-10-09T16:56:42.880 回答