在警报后生成一组新的随机数

时间:2015-02-18 04:59:31

标签: jquery math sum

我有一张桌子如下。

<tr>
<td><div id="1">1</div></td>
<td><div id="2">2</div></td>
<tr>

当文档完全加载时,数字首先在1-5范围内随机化,并用新的随机数替换表格单元格。然后他们加在一起。

var num1 = Math.floor((Math.random() * 5) + 1);
var num2 = Math.floor((Math.random() * 5) + 1);

$("#1").replaceWith(num1);
$("#2").replaceWith(num2);

var sum = parseInt(num1) + parseInt(num2);

用户将在文本区域键入答案。点击按钮用2个随机数的总和检查答案。

    $(":button").click(function () {
    var text = $(":text").val();
    if(text == sum)
    {
        alert("you answer correctly");

    }
    else
    {
        alert("you answer wrongly");
    }

});

我的问题是,在用户解除警报后,如何生成一组新的随机数?喜欢使用循环还是什么?

2 个答案:

答案 0 :(得分:0)

您可以在显示alert()

后调用随机生成代码
var sum;

function random() {
    var num1 = Math.floor((Math.random() * 5) + 1);
    var num2 = Math.floor((Math.random() * 5) + 1);

    $("#1").html(num1);
    $("#2").html(num2);

    sum = num1 + num2;
}

random();

$(":button").click(function () {
    var text = $(":text").val();
    if (text == sum) {
        alert("you answer correctly");
    } else {
        alert("you answer wrongly");
    }
    random();
});

&#13;
&#13;
var sum;

function random() {
  var num1 = Math.floor((Math.random() * 5) + 1);
  var num2 = Math.floor((Math.random() * 5) + 1);

  $("#1").html(num1);
  $("#2").html(num2);

  sum = num1 + num2;
}

random();

$(":button").click(function() {
  var text = $(":text").val();
  if (text == sum) {
    alert("you answer correctly");
  } else {
    alert("you answer wrongly");
  }
  random();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <div id="1">1</div>
    </td>
    <td>
      <div id="2">2</div>
    </td>
  </tr>
</table>
<input />
<button>Test</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您需要创建一个函数并在警报后调用它。 请参阅代码http://jsbin.com/nevoregiho/7/edit

var num1 = 0;
var num2 = 0;
var sum = 0;

function randomNumber(){
num1 = Math.floor((Math.random() * 5) + 1);
num2 = Math.floor((Math.random() * 5) + 1);
$("#one").text(num1);
$("#two").text(num2);
sum =  parseInt(num1) + parseInt(num2);
}

randomNumber();

   $("button").click(function () {
    var text = $("#result").val();
    if(text == sum)
    {
      alert("you answer correctly");
      randomNumber();
      $("#result").val("");

    }
    else
    {
        alert("you answer wrongly");
    }

});