Как можно остановить цикл при помощи кнопки в HTML/JS?

  • 1 сентября 2023 г. 10:16
Ответы на вопрос 2
Вы можете использовать переменную флага для остановки цикла при нажатии кнопки. Вот пример:

HTML:

```html
<button id="stopButton">Остановить</button>
```

JavaScript:

```javascript
var stopFlag = false;

function myFunction() {
  while (!stopFlag) {
    // ваш код цикла
  }
}

document.getElementById("stopButton").addEventListener("click", function() {
  stopFlag = true;
});
```

В этом примере, при нажатии кнопки с id "stopButton" переменная `stopFlag` устанавливается в `true`, и цикл `myFunction` останавливается. Вам нужно разместить код прерывания рядом с местом, где проверяется состояние флага в вашей функции, чтобы выйти из цикла.
let isButtonClicked = false;

function snowFall() {
    while(isButtonClicked !== true) {
        //функция, выполняющаяся в цикле
    }
}

document.getElementById('break_while').onclick = function() {
    isButtonClicked = true;
}

snowFall();

Но стоит учесть, что во время выполнения цикла кнопка может быть некликабельной.
Похожие вопросы