Мой таймер обратного отсчета Javascript не работает правильно - PullRequest
0 голосов
/ 20 сентября 2018

Я новичок в кодировании, и поэтому мой код немного грязный.Итак, я находился в процессе создания 5-минутного таймера обратного отсчета, и он выполняет обратный отсчет, но, похоже, он либо пропускает некоторые цифры, либо, кажется, произошла странная задержка.Почему это?Вот ссылка https://jsfiddle.net/m82ube1y/9/

var timer= document.getElementById("timer").children;
var edDate = new Date();
var endDate = edDate.setMinutes(edDate.getMinutes()+5) ;

setInterval(time, 1000);

function time() {

var currentDate = new Date().getTime();

var countdowntime = endDate-currentDate;

var days = Math.floor((((countdowntime/1000)/60)/60)/24);
var hours = Math.floor((((countdowntime/1000)/60)/60))%24;
var minutes = Math.floor(((countdowntime/1000)/60))%60;
var seconds = Math.floor((countdowntime/1000))%60;
    timer[0].textContent = days;
    timer[1].textContent = hours;
    timer[2].textContent = minutes;
    timer[3].textContent = seconds;

    timer[3].classList.add("rotate");
    setTimeout(function(){f(3);},500);
    function f(x){timer[x].classList.remove("rotate")}

    if(timer[3].textContent==59){ 
        timer[2].classList.add("rotate");
        setTimeout(function(){f(2);},500);}
}

РЕДАКТИРОВАТЬ: Я обнаружил, что он отлично работает в Firefox, но не в Chrome.Все еще не понимаю, почему ..

...