Создаем функцию получить остаток времени и внутри создаем переменные, такие как
let t = Date.parse(endtime) - Date.parse(new Date()) отнимаем от последней даты новую дату которая пишется - Date.parse(new Date()) Date.parse -любую дату превращает в миллисекунд:
отнимаем от последней даты новую дату которая пишется - Date.parse(new Date())
Дальше создаем переменные и добавляем Math.floor чтобы округлять.
t (миллисекунд) делим сперва чтобы секунду на 1000 и потом с помощью % делим на 60 чтобы получить остатку от деления. seconds = Math.floor((t/1000) % 60); Таким образом цифра не будет больше 60ти и так дальше делаем и с мунутами и с часами.
дальше чтобы внутри функции получить эти переменные пользуемся методом return, чтобы получить результат. То есть внутри return создаем объект и туда же задаем те же функции чтоб и в общей функции чтобы все сработало.
return { 'total' : t, 'hours' : hours, 'minutes' : minutes, 'seconds' : seconds };
Потом создаем функцию setClock чтобы таймер делать интерактивным. и там же с html получить все данные, и дальше еще функцию создать update чтобы функцию обновлять каждую секунду обновлять. и внутри функции давать переменную t и в нее же задать функцию же getTimeRemaining, дальще внутри той же функции сделать скрипт так, чтобы когда дедлайн достигает не выводился все через - например -22 -23 = 12 и в таком случае выводилось: 00:00:00
-
Необходимо подставлять 0 перед значениями, которые состоят из одной цифры (из 4:6:50 сделает 04:06:50) и поэтому создаем функцию добавить 0
function addZero(num) { if (num <= 9) { return '0' + num; } else return num; }с условием если будет цифра меньше 9 вернуть значение 0 + та цифра, или же саму цифру.
и потом в верстку добавить это
hours.textContent = addZero(t.hours); minutes.textContent = addZero(t.minutes); seconds.textContent = addZero(t.seconds); а если меньше нуля будет таймер то все обнуляем if (t.total <= 0) { clearInterval(timeİnterval); hours.textContent = '00'; minutes.textContent = '00'; seconds.textContent = '00'; }