Есть кнопка, а также таймер, созданный на js. Нужно сделать так, чтобы при нажатии кнопки таймер запускался, но при применении onclick ничего не происходит (появляется 00:00, а отсчёт не идёт).
Также сама функция "тика" таймера происходит при window.onload. То есть если не убирать window.onload и добавить в onclick, то всё будет работать, но таймер просто станет видимым при нажатии кнопки, а отсчёт начнется прямо с загрузки страницы.
Вот необходимый код:
<div class="pdTop">
<input type="button" id="submitButton" value="ОК">
</div>
<div class="container-fluid">
<div id="errorMessage" class="sr-only" role="error"></div>
<h1 id="time" class="text-center clock-timer">00:00</h1>
</div>
let submitButton = document.getElementById("submitButton");
submitButton.onclick = function () {
userInformation = {
"name": name.value,
birth: dayOfBirth.value + " " + monthOfBirth.value + " " + yearOfBirth.value,
"symptoms": "Симптомы: " + symptoms.value
};
if (symptoms.value === "Экстримальные") {
var symptomTime = 100;
}
else if (symptoms.value === "Сложные") {
var symptomTime = 60;
}
else if (symptoms.value === "Средние") {
var symptomTime = 30;
} else {
var symptomTime = 15;
}
document.getElementById("time").hidden = false;
};
document.getElementById("time").hidden = true;
var intervalHandle;
var secondsRemaining;
function tick() {
var timeDisplay = document.getElementById("time");
var min = Math.floor(secondsRemaining / 60);
var sec = secondsRemaining - (min * 60);
if(min < 10) {
min = "0" + min;
}
if(sec < 10) {
sec = "0" + sec;
}
var message = min + ":" + sec;
timeDisplay.innerHTML = message;
if(secondsRemaining === 0) {
document.getElementById("errorMessage").innerHTML = "<strong>Ваша очередь подошла! Приходите!</strong>";
document.getElementById("errorMessage").setAttribute("class","alert alert-success text-center");
clearInterval(intervalHandle);
resetPage();
}
secondsRemaining--;
}
window.onload = function startCountdown() {
secondsRemaining = symptomTime * 60;
intervalHandle = setInterval(tick, 1000);
document.getElementById("refresh").style.display = "block";
}
На symptoms и т.п не обращайте внимания, с ними всё хорошо. Заранее спасибо!