остановить петлю или функцию - PullRequest
0 голосов
/ 28 октября 2018

Хотелось бы помочь советом, как можно остановить цикл for после того, как 20 чисел выведены в перспективный div.Я попробовал остановить функцию / очистить интервал, установить время ожидания и т. Д. Каков наилучший способ добиться этого, так как я застрял на том, что является лучшим подходом

enter code here 
  function lottoNumbers()
  {
    var lottoNums = [];

    for(var i=0; i <1 ; i++)
    {
      var temp =Math.floor(Math.random() * 80 + 1);
      if(lottoNums.indexOf(temp) == -1)

      {

        lottoNums.push(temp);
        document.getElementById('square' + temp).innerHTML = lottoNums[i];
                document.getElementById('square0').innerHTML = lottoNums[i];
      }
      else
      {
        i--;
      }
    }
  }

//test resizing div
function alterSize(type) {
 var targetDiv = document.querySelector("#square0");
 targetDiv.classList.add(type);
 setTimeout(function(){
  targetDiv.classList.remove(type);
  }, 2000)
}


/*
onload="setInterval(lottoNumbers, 3000);
*/
  </script>

</head>


<body bgcolor="lightblue" onload="setInterval(start, 3500)" >
  <h1><center>GENERATE LOTTO NUMBERS</center></h1>

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Как сказал Рокки, вместо использования цикла for цикл while более подходит в этой ситуации, попробуйте использовать следующий пример логики и посмотрите, как вы это сделаете.

var lottoNumbers = 0;
var lottoNumbersCondition = false;

while(lottoNumbersCondition == false){
//your code and logical proccess goes here..
//and then your conditions will look like this
 if(condition to add lotto number = true){
    lottonumbers++;
 }

 if(lottoNumbers == 20){
    lottoNumbersCondition = true;
 }

}

Так что теперь циклбудет в основном повторять без числового предела, пока условие не будет выполнено.

0 голосов
/ 28 октября 2018

Это можно сделать с помощью цикла for, но для меня это звучит так, как будто вы хотите цикл while, так как хотите продолжить цикл: while (пока не получено достаточно лото).

while (lottoNums.length < 20) {
    //lottoNums.push(temp); and any other code you want to include in your loop
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...