Я пытаюсь создать таймер, который запускается после нажатия кнопки, а затем сбрасывается, как только нажимается другая кнопка. однако таймер запускается автоматически, как только приложение запускается и не возвращается к 0. Любая помощь будет принята с благодарностью.Таймер запускается автоматически, а не при нажатии кнопки javascript
Timer.js
var sec = 0;
function pad(val)
{
return val > 9 ? val : "0" + val;
}
interval = setInterval(function()
{
document.getElementById("seconds").innerHTML=pad(++sec%60);
document.getElementById("minutes").innerHTML=pad(parseInt(sec/60,10));
}, 1000);
function clearTimer()
{
clearInterval(interval);
}
Сценарии пользователя
$(document).on("click", "#RunningTrackerBackBtn", function(evt)
{
clearTimer();
});
$(document).on("click", "#TrackerTest", function(evt)
{
/*global activate_subpage */
activate_subpage("#TrackerPage");
setInterval();
});
index.html
<span id="minutes">00 minutes </span>:<span id="seconds"> 00 seconds</span>
Ну, вы вызываете 'setInterval()' сразу же, когда включен «Timer.js», вот что запускает таймер. – millimoose
Tangential: это неточный способ отслеживать время, вы не имеете гарантии, что обработчик 'setInterval()' выполняется ровно один раз каждые 1000 миллисекунд. Вместо увеличения второго счетчика вы должны сохранить время начала и сравнить его с временем, когда вы обновляете дисплей. Обработчик также должен работать чаще, чем один раз в секунду. – millimoose