javascript - 尝试创建基本的数学游戏

标签 javascript html math

我正在做一个数学游戏。我有这个 HTML/JavaScript 代码。它生成一个随机数,但当我输入正确答案时,它仍然显示“错误”。我不确定出了什么问题。

这是 HTML 代码:

<table width="400" border="1" align="center">
  <tr>
    <td><div id="number1">1</div></td>
    <td><div>+</div></td>
    <td><div id="number2">2</div></td>
    <td><div>=</div></td>
    <td><input type="text"></input></td>
    <td><input type="button" value="Check"></input></td>

  </tr>
</table>

这是我的 JavaScript 代码:

//random number appear when start game
var number1;
var number2;

number1 = Math.floor((Math.random() * 10) + 1);
number2 = Math.floor((Math.random() * 10) + 1);
document.getElementById("number1").innerHTML=number1;
document.getElementById("number2").innerHTML=number2;

//Answer
var answer = number1 + number2;

//add click handler with check answer
var checkAnswer = document.querySelector('input[type=text]');
var value = checkAnswer.value;
var btn = document.querySelector('input[type=button][value=Check]');


btn.onclick = function() 
{
  if (value == answer) 
       {
          alert('You are correct');
       }
   else{
          alert('You are incorrect, the answer was ' + answer);
       }

 document.querySelector('input[type=text]').value = "";               
 document.getElementById('number1').innerHTML = "";
 document.getElementById('number2').innerHTML = ""; 
 number1 = Math.floor((Math.random() * 10) + 1);
 number2 = Math.floor((Math.random() * 10) + 1);
 document.getElementById('number1').innerHTML = number1; 
 document.getElementById('number2').innerHTML = number2;

 answer = number1 + number2


};

最佳答案

.onclick 方法中移动以下行。

var checkAnswer = document.querySelector('input[type=text]'); //needn't be moved in method
var value = checkAnswer.value;

您可以通过 JSFiddle 验证结果.

问题是变量value在加载页面时用空字符串初始化,因为加载页面时该值是空的。

关于javascript - 尝试创建基本的数学游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28695154/

相关文章:

javascript - 为什么从事件调用的函数中我会从 JSLint 获得 "is out of scope"?

javascript - Spread 运算符不再传入 React Native map 函数

python - HTML 抓取具有重复 div 类名的网站

php - 使用 PHP 的分页代码中缺少 Ahref 链接

c++ - GSL 编译错误

javascript - Cloud Functions for Firebase 在 CORS 预检请求上触发功能

javascript - Mongodb查询基于记录中的字段数

php - DB检索代码显示代码本身而不是查询结果

math - 从四元数中提取偏航角

math - 设置二维向量的大小