Как начать, остановить, чтобы получить результат в массиве JavaScript? - PullRequest
0 голосов
/ 18 октября 2018

У меня есть кнопка запуска, когда я нажимаю кнопку массива элементов запуска, и когда я нажимаю кнопку остановки, он показывает результат после остановки.

function start() {
  'use strict';
  var pics = ['apple', 'banana', 'orange', ​​​'mango'];
  var output = document.getElementById('output');
  output = pics[Math.floor(Math.random() * pics.length)];
  document.getElementById('result').val = output;
  //do with setInterval
} 
function stop() {
  //code 
}

<div class="btn-group">
   <button type="button" onclick="start()" id="start">Start</button>
   <input type="button" id="result">          
   <button type="button" onclick="stop()"id="stop">Stop </button>
</div>

Пожалуйста, помогите мне с вашим кодом

Ответы [ 2 ]

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

Вот один из способов:

var interval = null;

function start() {
  // This check is to make sure that
  // we still have the "interval id"
  // otherwise we won't be able to
  // stop it. Don't overwrite the id.
  if (interval == null) {
    // Notice the lack of `var`;
    // we want to store this in the
    // outer variable so it doesn't
    // go away when the function ends.
    interval = setInterval(spin, 500);
  }
}

var pics = ['apple', 'banana', 'orange', 'mango'];

function spin() {
  'use strict';
  var output = pics[Math.floor(Math.random() * pics.length)];
  document.getElementById('result').value = output;
}

function stop() {
  clearInterval(interval);
  // Now we've cleared it, we want
  // `start()` to work again.
  interval = null;
}
<div class="btn-group">
   <button type="button" onclick="start()" id="start">Start</button>
   <input type="button" id="result">          
   <button type="button" onclick="stop()"id="stop">Stop </button>
</div>
0 голосов
/ 18 октября 2018

Сохраните ваш вызов setInterval в переменной и используйте функцию clearInterval(), чтобы остановить его.

var interval;
function start() {
  'use strict';
  var pics = ['apple', 'banana', 'orange', ​​​'mango'];
  var output = document.getElementById('output');
  output = pics[Math.floor(Math.random() * pics.length)];
  document.getElementById('result').val = output;
  //do with setInterval
  interval = setInterval(...);
} 
function stop() {
  clearInterval(interval) 
}

<div class="btn-group">
   <button type="button" onclick="start()" id="start">Start</button>
   <input type="button" id="result">          
   <button type="button" onclick="stop()"id="stop">Stop </button>
</div>
...