0

我正在创建一个简单的算术游戏,其中有一个填充有数字的网格。数字是隐藏的,当游戏运行时,网格空间会突出显示。旁边的 div 产生一个总和,以帮助用户得到正确的答案。然后,用户点击相应的数字,动画就位并指示它们是对还是错。

我只有一个下一个按钮('.minibutton'),所以如果用户回答错误 3 次,他们就有机会转到下一个问题。该按钮还具有 .trigger('click') 功能,因此当一个单词正确完成时,它会自动移动并保持游戏流畅。

我的问题是按钮停止工作,我不知道为什么。这是“.minibutton”功能...

$('.minibutton').click(function() {
var sum = $('#answerlist li[data-answer="' + answer + '"]').data('sum');
$(right).val('');
$(wrong).val('');
$('td').removeClass('spellanswer');
score.wrong = 0;
var r = rndanswer;
while (r == rndanswer) {
    rndanswer = Math.floor(Math.random() * (listOfanswers.length));
}

当我添加此语句时,按钮停止工作

 //for (var x = 0; x < listOfanswers.length; x++) {
    //if (eval(sum.replace("=", "").replace("x", "*")) == listOfanswers[x].name) {
       // rndanswer = x;
   // }
//}

$('td[data-answer="' + listOfanswers[rndanswer].name + '"]').addClass('spellanswer');
$('td[data-answer=' + answer + ']').removeClass('answerglow').removeClass('answerglow4').removeClass('answerglow3').css('color', 'transparent');

var noExist = $('td[data-answer=' + listOfanswers[rndanswer].name + ']').hasClass('answerglow2');
if (noExist) {
    $('.minibutton').prop('disabled', false);

} else {

    $('.sumstyle').text(sum);
    sum.hide();

}
}).trigger("click");

http://jsfiddle.net/ZAfVZ/28/

4

1 回答 1

1

运行 jsFiddle 会出现此错误:

Object 1 + 2 = has no method 'hide'

你试图隐藏一个字符串,这显然是错误的。它导致脚本在该点之后停止执行。删除/注释掉sum.hide(),猜错三个后出现“下一步”按钮。

我编辑了 JSFiddle 以在函数顶部定义sum(包含玩家试图回答的总和的文本字符串)和seumElem(包含总和的 HTML 元素):http: //jsfiddle.net/ZAfVZ/30 /

于 2012-10-18T09:21:33.297 回答