Javascript 制造;“下一步”;钮扣
我正在创建一个简单的计算游戏,其中有一个填充了数字的网格。数字被隐藏,当游戏运行时,网格空间被高亮显示。旁边的div生成一个总和,以帮助用户获得正确答案。然后,用户单击相应的数字,这些数字会显示在位置上,并显示它们是对还是错 我只在下一个按钮(“.minibutton”)中添加了一个按钮,这样,如果用户三次答错了,他们就有机会进入下一个问题。该按钮还具有.trigger('click')功能,因此当一个单词正确完成时,它会自动移动并保持游戏流畅 我的问题是按钮停止工作,我不知道为什么。这是“.minibutton”功能Javascript 制造;“下一步”;钮扣,javascript,jquery,button,triggers,Javascript,Jquery,Button,Triggers,我正在创建一个简单的计算游戏,其中有一个填充了数字的网格。数字被隐藏,当游戏运行时,网格空间被高亮显示。旁边的div生成一个总和,以帮助用户获得正确答案。然后,用户单击相应的数字,这些数字会显示在位置上,并显示它们是对还是错 我只在下一个按钮(“.minibutton”)中添加了一个按钮,这样,如果用户三次答错了,他们就有机会进入下一个问题。该按钮还具有.trigger('click')功能,因此当一个单词正确完成时,它会自动移动并保持游戏流畅 我的问题是按钮停止工作,我不知道为什么。这是“.m
$('.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");
//for(var x=0;x
运行JSFIDLE会出现以下错误:
Object 1 + 2 = has no method 'hide'
您试图隐藏字符串,这显然是错误的。这会导致脚本在该点之后停止执行。删除/注释掉sum.hide()
,然后在三次错误猜测后出现“下一步”按钮
我已经编辑了JSIDLE,在函数顶部定义了
sum
(一个包含玩家试图回答的sum的文本字符串)和seumElem
(包含sum的HTML元素):…为什么不把JSIDLE放进去呢。。。。?我不打算请求它…运行JSFIDLE会出现以下错误:Object 1+2=没有“hide”方法您试图隐藏字符串,这显然是错误的…所以我应该去掉sum.hide()对吗?css('visibility'、'hidden')在massivepenguin上会更好吗?我认为问题在于您正在重新定义sum
在脚本编写过程中的内容。sum
实际上应该指什么?变量sum包含字符串值而不是元素。您必须尝试隐藏一个元素,声明var sumElem=$('#answerlist li[data-answer=“'+answer+'']”])
,然后给出sumElem.hide()
无论如何都会发生这种情况。它就是不起作用。我现在已经取出sum.hide()语句。我只是不明白为什么它不工作,它没有被禁用,而且在我添加'for(var x=0;xchosenanswers
有关:此列表中充满了空格,这会进一步导致错误。这个列表应该是什么样子?“chosenanswers”应该是从填充网格@MassivePenguin的