Javascript 我很难完成一个简单的JS数学游戏
我让onclick函数正常工作,但问题是jQuery由于某种原因对我不起作用,所以我取出了它,但我不知道如何在不使用jQuery的情况下禁用onclick:如何禁用按钮的onclick,并在正确时使其保持禁用状态,在不正确时重置?我还需要让numOne和numTwo重新计算另一个随机数,如果它等于一个禁用按钮的id,那么我猜我已经更改了do while循环,我必须确保numTwo永远不等于numOne,但我不确定如何做到这一切Javascript 我很难完成一个简单的JS数学游戏,javascript,button,onclick,Javascript,Button,Onclick,我让onclick函数正常工作,但问题是jQuery由于某种原因对我不起作用,所以我取出了它,但我不知道如何在不使用jQuery的情况下禁用onclick:如何禁用按钮的onclick,并在正确时使其保持禁用状态,在不正确时重置?我还需要让numOne和numTwo重新计算另一个随机数,如果它等于一个禁用按钮的id,那么我猜我已经更改了do while循环,我必须确保numTwo永远不等于numOne,但我不确定如何做到这一切 <!DOCTYPE html> <html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Lemon Squares - Grade 1 Edition</title>
</head>
<body id="bodyId">
<script type="text/javascript">
var button = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
var numbers = new Array();
for (var i=0; i<16; i++)
{
var randomNumber = Math.floor(Math.random()*9);
numbers[i] = document.createElement("button");
numbers[i].innerHTML = button[randomNumber];
numbers[i].setAttribute("type", "button");
numbers[i].setAttribute("id", button[i]);
numbers[i].setAttribute("onclick", "onClick('" + button[randomNumber] + "')");
numbers[i].setAttribute("value", button[randomNumber]);
document.getElementById("bodyId").appendChild(numbers[i]);
if (i == 3 || i == 7 || i == 11)
{
document.write("<br>");
}
}
var numOne = (Math.ceil(Math.random()*15)).toString();
var numTwo = (Math.ceil(Math.random()*15)).toString();
do
{
numTwo = Math.ceil(Math.random()*15).toString();
}
while (numTwo == numOne);
var numberOne = document.getElementById(numOne).value;
var numberTwo = document.getElementById(numTwo).value;
var answer = parseInt(numberOne) + parseInt(numberTwo);
var total = 0
function onClick(x)
{
x = parseInt(x);
total += x;
if (total > answer)
{
alert("Sorry, try again.")
total = 0
}
else if(total == answer)
{
alert("Congratulations, you did it!");
total = 0
}
}
document.write("<br> Pick two numbers that add up to: " + answer);
</script>
</body>
</html>
我认为你走错了方向 游戏的逻辑是如果我理解正确: pick 1 to nn是所有可用按钮/项目的计数项目数 获取所选项目值的总和并显示给用户 记录并添加用户选择的值,直到达到目标,并以数组形式跟踪用户选择的项目 如果所选项目总和正确,则禁用所选项目,只需将禁用属性添加到按钮项目,并从步骤1中获得,其中n是剩余项目的数量 因此,对于您的问题: 在每个按钮上单击,执行以下步骤: 将值添加到数组中 获取数组中的值之和 把总数和答案比较一下 如果总和小于答案,则不执行任何操作并等待下一次单击 如果总和等于答案 禁用阵列中的按钮 清除所选项目数组 创建一个新答案 如果总和大于答案,请清除所选项目数组并重新开始
我希望这能有所帮助。谢谢您的意见!今天早上我试图这么做,但是我在向数组中添加值时遇到了麻烦,我在从我的任何按钮点击中获取值时遇到了麻烦。我肯定认为,一旦我越过了那个障碍,我就能完成剩下的工作。不知道我做错了什么。我将在回家后发布一些我尝试使用的代码示例。是的,当我添加jquery时,按钮已经停止响应。所以我把它拿了出来。