Привет, ребята? пожалуйста, мне нужна помощь, я хочу ситуацию, когда после определенное время первый таймер должен перестать считать, а второй таймер выполняет и обновляет «BREAK TIME» таким образом, что если страница при обновлении первый таймер не будет работать, пока не завершится выполнение второго таймера, и наоборот.
<script> let element = document.querySelector('#countdown'); let breakTime = document.querySelector("#countdownbreak"),myD=true; function TimeFii(){ time_difference = (60*1) -(((Date.now()-localStorage.getItem('realTime'))/1000) | 0); //60 if duration = 60*1 hours = (time_difference/3600) | 0; minutes = ((time_difference % 36000) / 60) | 0; seconds = (time_difference %60)|0; hours = hours<10 ? "0"+hours:hours minutes = minutes < 10 ? "0"+minutes:minutes//00 seconds = seconds <10 ?"0"+seconds:seconds uniseconds = seconds; element.textContent = minutes+":"+seconds; if(time_difference<=0){ var start = Date.now()+100;`enter code here` localStorage.setItem('realTime',start); } if(seconds==39){ stop(); resetFii(); element.innerHTML ="" localStorage.setItem('noStart',myD) startFiiTimer(TimeFiiBreak); } } function TimeFiiBreak(){ time_difference = (60*3) -(((Date.now()-localStorage.getItem('realBTime'))/1000) | 0); //60 if duration = 60*1 hours = (time_difference/3600) | 0; minutes = ((time_difference % 36000) / 60) | 0; seconds = (time_difference %60)|0; hours = hours<10 ? "0"+hours:hours minutes = minutes < 10 ? "0"+minutes:minutes//00 seconds = seconds <10 ?"0"+seconds:seconds uniseconds = seconds; breakTime.textContent = "BREAK TIME:"+minutes+":"+seconds; if(time_difference<=0){ var start = Date.now()+100; localStorage.setItem('realBTime',start); } if(seconds==40){ stopB(); resetBFii(); startFiiTimer(TimeFii); } } function startFiiTimer(fun){ return setInterval(fun,100); } function resetFii(){ return localStorage.removeItem('realTime'); } function stop(){ return clearInterval(TimeFii) } function resetBFii(){ return localStorage.removeItem('realBTime'); } function stopB(){ return clearInterval(TimeFii) } window.onload = function (){ if(myD !=false){ startFiiTimer(TimeFii); } } </script>
Пожалуйста, приведенный выше фрагмент работает, но не так точно, как я хочу, вы можете посетить fastplay24.com, чтобы увидеть пример таймера. спасибо
setInterval () возвращает идентификатор таймера, который необходимо использовать при вызове clearInterval (), а не самой функции. Что-то вроде:
idtimerfii = setInterval(fun,100); clearInterval(idtimerfii)