我有一个简单的Javascript Math程序。它可以让您回答方程式,并在检查您的答案时提醒您回答正确还是错误。
这是添加的代码:
function randomAdd()
{
var x=document.getElementById("AddN1");
x.value=Math.floor((Math.random()*12)+1);
var y=document.getElementById("AddN2");
y.value=Math.floor((Math.random()*12)+1);
}
function checkAdd()
{
var z=document.getElementById("AddA2");
z.value= parseInt(document.getElementById("AddN1").value) + parseInt(document.getElementById("AddN2").value);
if(parseInt(document.getElementById("AddA1").value)==z.value)
{
score=score+1;
alert("Addition: Correct");
}
else
{
alert("Addition: Incorrect");
}
}
<form name="Addition">
<table>
<tr>
<th>Addition</th> <th></th> <th></th> <th></th> <th></th> <th></th>
</tr>
<tr>
<th>Number 1</th> <th></th> <th>Number 2</th> <th></th> <th>Type Your Answer</th> <th>Correct Answer</th>
</tr>
<tr>
<td><input type="text" name="AddN1" id="AddN1"></td> <td>+</td> <td><input type="text" name="AddN2" id="AddN2"></td> <td>=</td> <td><input type="text" name="AddA1" id="AddA1"></td> <td><input type="text" name="AddA2" id="AddA2"></td>
</tr>
<tr>
<td><input type="button" value="Get Numbers" onclick="randomAdd();"> <td></td> <td></td> <td></td> <td><input type="button" value="Check Answer" onclick="checkAdd();"> <th></th>
</tr>
</table>
</form>
该代码是由我的大学提供给我的。
我想保留一个简单的计数器,该计数器将对用户得到的所有正确答案进行计数,并且还有一个重置按钮,该计数器会将计数器重置为零?
抱歉,这听起来真的很基础,但是我没有Java经验。
谢谢。
最佳答案
我还没有测试过,但是我怀疑您的代码默认情况下几乎可以正常工作,但是唯一的问题是您没有在全局范围内声明您的score
变量,这样其他函数就可以访问同一变量而无需进一步传递。
在页面顶部添加var score = 0;
应该可以使其正常工作,然后在不使用var
的情况下使用它,例如score++;
增加一个,score = 0;
重置它,依此类推。 ,因为它无论如何都要进行学校作业-只是想向您介绍全局变量的用法。 :)但是,尽量避免创建许多全局变量,因为这也被称为坏习惯,尽管有时没有它们就很难生存。从global variables, bad practice?阅读更多
针对您的代码的一些调试技巧:
var scoreElement=document.getElementById("score");
该行在加载DOM之前执行,因此它可能为null。尝试更改以下行:
alert("Addition: Correct");
scoreElement.value=score;
至
document.getElementById("score").value=score;
还将所有JavaScript移至页面底部(例如,在
</body>
标记下)-这就是正确的方法。另外,为什么不真正使用jquery.js时却要加载它呢?例如,您可以将所有JavaScript代码添加到准备就绪的内部文档中。像这样:$(function() {
// your javascript code
});