我正在创建一个简单的计算游戏,其中有一个填充数字的网格。数字是隐藏的,当游戏运行时,网格空间会突出显示。旁边的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");
答案 0 :(得分:1)
运行jsFiddle会出现此错误:
Object 1 + 2 = has no method 'hide'
你试图隐藏一个字符串,这显然是错误的。它导致脚本在该点之后停止执行。删除/注释sum.hide()
,并在三次错误猜测后显示“下一步”按钮。
我已经编辑了JSFiddle以定义sum
(包含玩家试图回答的总和的文本字符串)和seumElem
(包含总和的HTML元素)在顶部功能:http://jsfiddle.net/ZAfVZ/30/