Как исправить таймер отчета от времени?

Есть код таймера который считает до даты события, как сделать чтобы таймер считал точно время от даты

timedown("2020-10-27T07:07:00+02:00","link_1");

function timedown(ti,id){

var countDownDate = new Date(ti).getTime();

var x = setInterval(function() {

    var now = new Date().getTime();
    
    var distance = countDownDate - now;
    
    var pad = n=>(n < 10? "0":"") + n;  
    
    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);

   document.getElementById(id).innerHTML = "до входа "  + (days!=0 ? days + ":" : "") + pad(hours)+ ":" + pad(minutes) + ":" + pad(seconds);                                                                                       
    if (distance < 0) {
        var x = setInterval(function(){
        clearInterval(x);
       document.getElementById("link_1").innerHTML = "уже проходит " + (days!=0 ? days + ":" : "") + pad(hours) + ":" + pad(minutes) + ":" + pad(seconds);
            }, 1000);
    }
    
}, 1000);}
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@ksnk
floor округляет вниз. Так что чуть меньше -1 станет -2. Ну и секунды вполне можно округлять, а не обрезать.
Ну и лепить еще один таймаут вместо старого как-то неправильно. Можно же и в одном уместится.
Как нибудь так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽