Люди добрыя, памажите!
Нужен таймер обратного отсчета одной минуты (00:59), который бы останавливался на отметке 00:00. У меня есть код таймера, но он отсчитывает от 59:59 и не останавливается при достижении 00:00. Код манипуляций со временем выглядит очень громоздко и от него мозги кипят. Унарные операторы немного глаза режут. Подскажите, пожалуйста, что надо в этом коде поменять, чтобы он отсчитывал от 00:59 и останавливался при достижении 00:00. Может валуева перехватывать каждую секунду и сравнивать с нулями? Сама остановка и обнуление предусмотрены при нажатии кнопки reset и start/stop, но впоследствии будет только start
<script type="text/javascript">
const Stopwatch = (function(){
let stopwatchValue = 0;
let interval;
let running = false;
let startFrom;
function getFormatedValue(){
let dateStore = new Date(stopwatchValue);
document.TestForm.stopwatch.value = ((dateStore.getSeconds()<10)?("0"+dateStore.getSeconds()):(dateStore.getSeconds()));
}
function start(){
startFrom = new Date(document.TestForm.stopwatch.value);
if (isNaN(startFrom)){
startFrom = +new Date() + stopwatchValue;
}
interval = setInterval(function(){
stopwatchValue = (startFrom-(+new Date));
getFormatedValue();
}, 10);
};
function stop(){
clearInterval(interval);
}
return {
toggle: function(){if (running){stop();} else{start();}running = !running;},
reset: function(){document.TestForm.stopwatch.value = "01:00"; stopwatchValue = 0; startFrom = +new Date;}
};
})();
</script>