Как создать таймер обратного отсчета с помощью JavaScript

Опубликовано: 14 Июля, 2021

Таймер обратного отсчета - это точный таймер, который можно использовать на веб-сайте или в блоге для отображения обратного отсчета до любого особого события, такого как день рождения или годовщина.
Основы таймера обратного отсчета:

  1. Установите действительную дату окончания.
  2. Подсчитайте оставшееся время.
  3. Преобразуйте время в удобный формат.
  4. Выведите данные часов как объект многократного использования.
  5. Отобразите часы на странице и остановите часы, когда они достигнут нуля.

Шаг 1. Установите действительную дату окончания
Допустимая дата и время окончания должны быть строкой в любом из форматов, понятных JavaScript-методу Date.parse ().

Шаг 2: Рассчитайте оставшееся время
Сначала мы вычисляем оставшееся время, вычитая крайний срок из текущей даты и времени, затем вычисляем количество дней, часов, минут и секунд. Функция Math.floor () используется для возврата наибольшего целого числа, меньшего или равного заданному. номер.

Шаг 3: выведите результат
В приведенном ниже коде результат представлен как вывод id = ”demo”.

Шаг 4. Напишите текст, если обратный отсчет закончился
Если таймер обратного отсчета закончился, на экране отобразится «истек».

ВХОД :




<!DOCTYPE HTML>
<html>
<head>
<style>
p {
  text-align: center;
  font-size: 60px;
}
</style>
</head>
<body>
<p id="demo"></p>
<script>
var deadline = new Date("Jan 5, 2018 15:37:25").getTime();
var x = setInterval(function() {
var now = new Date().getTime();
var t = deadline - now;
var days = Math.floor(t / (1000 * 60 * 60 * 24));
var hours = Math.floor((t%(1000 * 60 * 60 * 24))/(1000 * 60 * 60));
var minutes = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((t % (1000 * 60)) / 1000);
document.getElementById("demo").innerHTML = days + "d " 
+ hours + "h " + minutes + "m " + seconds + "s ";
    if (t < 0) {
        clearInterval(x);
        document.getElementById("demo").innerHTML = "EXPIRED";
    }
}, 1000);
</script>
  
</body>
</html>




Когда обратный отсчет закончился

Таймер обратного отсчета с CSS с использованием JavaScript
ВХОД:




<!DOCTYPE HTML>
< html >
< head >
< style >
body{
text-align: center;
background: #00ECB9;
font-family: sans-serif;
font-weight: 100;
}
h1{
color: #396;
font-weight: 100;
font-size: 40px;
margin: 40px 0px 20px;
}
#clockdiv{
font-family: sans-serif;
color: #fff;
display: inline-block;
font-weight: 100;
text-align: center;
font-size: 30px;
}
#clockdiv > div{
padding: 10px;
border-radius: 3px;
background: #00BF96;
display: inline-block;
}
#clockdiv div > span{
padding: 15px;
border-radius: 3px;
background: #00816A;
display: inline-block;
}
smalltext{
padding-top: 5px;
font-size: 16px;
}
</ style >
</ head >
< body >
< h1 >Countdown Clock</ h1 >
< div id = "clockdiv" >
< div >
< span class = "days" id = "day" ></ span >
< div class = "smalltext" >Days</ div >
</ div >
< div >
< span class = "hours" id = "hour" ></ span >
< div class = "smalltext" >Hours</ div >
</ div >
< div >
< span class = "minutes" id = "minute" ></ span >
< div class = "smalltext" >Minutes</ div >
</ div >
< div >
< span class = "seconds" id = "second" ></ span >
< div class = "smalltext" >Seconds</ div >
</ div >
</ div >
< p id = "demo" ></ p >
< script >
var deadline = new Date("dec 31, 2017 15:37:25").getTime();
var x = setInterval(function() {
var now = new Date().getTime();
var t = deadline - now;
var days = Math.floor(t / (1000 * 60 * 60 * 24));
var hours = Math.floor((t%(1000 * 60 * 60 * 24))/(1000 * 60 * 60));
var minutes = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((t % (1000 * 60)) / 1000);
document.getElementById("day").innerHTML =days ;
document.getElementById("hour").innerHTML =hours;
document.getElementById("minute").innerHTML = minutes;
document.getElementById("second").innerHTML =seconds;
if (t < 0 ) {
clearInterval(x);
document.getElementById("demo") .innerHTML = "TIME UP" ;
document.getElementById("day") .innerHTML = '0' ;
document.getElementById("hour") .innerHTML = '0' ;
document.getElementById("minute") .innerHTML = '0' ;
document.getElementById("second") .innerHTML = '0' ; }
}, 1000);
</script>
</ body >
</ html >

ВЫХОД :


При превышении сеанса таймера обратного отсчета будет отображаться следующий вывод:

Применение таймера обратного отсчета

  • Используется во время событий для отображения времени, оставшегося до его начала.
  • Используется веб-сайтами онлайн-торговли для отображения времени, оставшегося до текущей продажи.
  • Используется веб-сайтами во время рекламных акций
  • Используется в автомобильных гоночных играх, футбольных играх и т. Д.
  • Используется на веб-сайтах аукционов для отображения левой стороны для размещения ставок.

Преимущества создания таймера обратного отсчета в JavaScript по сравнению с использованием плагинов

  • Код будет легковесным, потому что у него не будет никаких зависимостей.
  • Веб-сайт будет работать лучше, потому что не потребуется загружать внешние скрипты и таблицы стилей.
  • Пользователь получает больше контроля, потому что он построил часы так, чтобы они вели себя именно так, как он хочет, вместо того, чтобы пытаться согнуть плагин в соответствии со своей волей.

Эта статья предоставлена Шубродипом Банерджи. Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.