使“下一步”按钮工作

时间:2012-10-18 08:49:41

标签: javascript jquery button triggers

我正在创建一个简单的计算游戏,其中有一个填充数字的网格。数字是隐藏的,当游戏运行时,网格空间会突出显示。旁边的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/

1 个答案:

答案 0 :(得分:1)

运行jsFiddle会出现此错误:

Object 1 + 2 = has no method 'hide'

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

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