如何在单击按钮一次后使if语句继续工作

时间:2018-01-15 07:32:35

标签: javascript

我会尝试更好地解释它。我重写了一个代码,以使其更好地作为一个例子。正如你所看到的,我有一个应用程序来生成一个数字,但要生成正确的数字,我必须在按钮上单击5-15次,因为随机和if语句。我想问一下如何让一个过程跳过错误的数字,并只需一次点击即可给出实际答案(只需5-15次点击)。如果你不了解我,我可以提供更多信息。非常感谢你!

*视频:https://vimeo.com/251109159

  function getnumber() {
  var input = document.IX.onetoThou.value;

  var firstNum = input[0];

  var ranNumb = Math.floor(Math.random()*(99-00+1)+00);
  var ans = "you are right!";

  var newNumber = firstNum + ranNumb;

  if ( newNumber % 5 == 0){
    document.getElementById("newnumber").innerHTML = newNumber+" "+ans;
    }
  }

3 个答案:

答案 0 :(得分:1)

您可以将 do while 循环中的数字生成包裹起来:

function getnumber() {
  var input = document.IX.onetoThou.value;
  var firstNum = input[0];
  var ans = "you are right!";
  var newNumber;
  do {
    var ranNumb = Math.floor(Math.random()*(99-00+1)+00);
    newNumber = firstNum + ranNumb;
  } while (newNumber % 5 !== 0); 

  document.getElementById("newnumber").innerHTML = newNumber+" "+ans;

}

答案 1 :(得分:0)

不是在[0,100)中生成随机整数并检查它是否是5的倍数,而是在[0,20]中生成随机整数并将其乘以5.这样可以保证结果将是0到100之间的5的倍数。

var ranNumb = Math.floor(Math.random() * 20) * 5;

答案 2 :(得分:0)

希望这可能有所帮助。您必须使用if-else而不是if条件语句

function getnumber() {
  var input = document.IX.onetoThou.value;

  var firstNum = input[0];

  var ranNumb = Math.floor(Math.random()*(99-00+1)+00);
  var ans = "you are right!";

  var newNumber = firstNum + ranNumb;

  if ( newNumber % 5 == 0){
    document.getElementById("newnumber").innerHTML = newNumber+" "+ans;
    }else{
document.getElementById("newnumber").innerHTML = "You are wrong";
    }

  }