该按钮不起作用

时间:2014-08-25 00:49:27

标签: javascript html

<body>
<input id="input"></input>
<button id="button" onclick="evaluate()">Submit</button>
<br>
<p id="id"></p>
</body>
<script>
var a = 1;
var b = 100;
var z = Math.floor(Math.random() * (b-a)) + a;
document.getElementById("id").innerHTML = ("Pick a number between 1 and 100. I will try to guess it. I think it's " + z + ".");
var y = document.getElementById("input").value;
function evaluate() {
  var y = document.getElementById("input").value;
  if (y == 0) {
    a = x + 1;
    z = (a+b)/2;
    if (z%2==1) {
      z = z-0.5
    }
    document.getElementById("id").innerHTML = ("Now I think it's " + z);
    stopEvent();
  }
  if (y == 2) {
    b = x - 1;
    z = (a+b)/2;
    if (z%2==1) {
      z = z-0.5;
    }
    document.getElementById("id").innerHTML = ("Now I think it's " + z);
    stopEvent();
  }
  if (y == 1) {
    document.getElementById("id").innerHTML = ("Yay! I'm so smart.");
    stopEvent();
  }
}
</script>

当我点击按钮时,它没有想到另一个整数,它什么也没做。我找不到任何错别字。该程序应该猜测你的数字7猜测。你想到一个1到100之间的数字,它首先选择一个随机整数1-100,然后你告诉它是否太高或太低,然后它根据你告诉它的重置它的范围,它选择另一个整数,另一个,直到它缩小到1整数。

2 个答案:

答案 0 :(得分:1)

永远不会定义您的变量x。当未定义时,您会在计算中直接使用x。什么是x应该是什么?定义x后,一切都应该有效。

    a = x + 1; // What is x?

如果您没有定义x,那么您的函数evaluate()将会中断。

答案 1 :(得分:1)

evaluate()是一种可用的预定义方法,因此如果发现冲突,请更改方法名称。

现在正如mwilson所提到的,你使用变量x而没有声明它有一些价值。

我猜您已经在代码中定义了stopEvent(),否则您也会遇到错误。