- Таймер обратного отсчета, в т.ч. до Нового Года
- Как сделать обратный отчёт времени на JavaScript
- HTML:
- JavaScript:
- Логика программы:
- Код программы:
- Сам таймер:
- Тест программы:
- До нового года html
- Saved searches
- Use saved searches to filter your results more quickly
- License
- VladimirSaenko/Countdown-to-New-Year-2022
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
Таймер обратного отсчета, в т.ч. до Нового Года
Таймер обратного отсчета является довольно простой и классической задачей для javascript.
Рассмотрим создание счетчика дней до определенной даты и такой же счетчик, но более олдскульный с отсчетом часов, минут и секунд.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
script language="JavaScript" type="text/javascript"> function count() { month = 'Jan'; // Месяц даты наступления события date = '01'; // Число даты наступления события year = '2006'; // Год даты наступления события theDate = month + ' ' + date + ' ' + year; now = new Date(); setdate = new Date(theDate); timer = (setdate - now) / 1000 / 60 / 60 / 24; timer = Math.round(timer); var message = timer + " дней до вашей даты!"; // Текст сообщения на ваш вкус if (timer == "1") message = timer + " сообытие через день"; // До события один день if (timer == "0") message = "событие менее чем через день"; // До события менее одного дня if (timer == "-1") message = "событие наступило"; // Событие наступило if (timer "-1") message = ""; // Строка нулевой длины после наступления события document.write(message); } count(); script>
Вариант с днями, часами, минутами и секундами (отсчет времени до наступления Нового Года):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
script type="text/javascript"> function newYearIn() RemainsFullDays==32 ; var secInLastHour=secInLastDay-RemainsFullHours*3600; var RemainsMinutes=(parseInt(secInLastHour/60)); if (RemainsMinutes10){RemainsMinutes="0"+RemainsMinutes}; var lastSec=secInLastHour-RemainsMinutes*60; if (lastSec10){lastSec="0"+lastSec}; //document.getElementById('newyear').innerHTML = "До Нового Года осталось: "+RemainsFullDays+days+RemainsFullHours+":"+RemainsMinutes+":"+lastSec+"
"; document.getElementById('newyear').innerHTML = "До Нового Года осталось: "
+RemainsFullDays+' '+incline(['день', 'дня', 'дней'], RemainsFullDays)+' '+RemainsFullHours+":"+RemainsMinutes+":"+lastSec+""; setTimeout("newYearIn()",10); } else {document.getElementById("newyear").innerHTML = "C НОВЫМ ГОДОМ . ";} } function incline(words,n){ // первый параметр -- 3-и варианта склонения существительного по правилу 1, 2, 5; второй -- сама переменная с числом return words[(n%100>4 && n%10020)?2:[2,0,1,1,1,2][Math.min(n%10,5)]]; } newYearIn(); script>
Для того чтобы счетчик времени (таймер) до Нового Года появился на странице, необходимо до скрипта на странице расположить любой тег с например:
а в самом скрипте установить ту дату нового года, которую вы обычно празднуете (например, ближайший Новый Год в России: «Jan,01,2012,00:00:00»).
[UPD]: 1. Для того чтобы поменять шрифт (размер и цвет), нужно убрать теги и и вставить описание стиля p#newyear для строки времени. 2. Для того чтобы разбить строку на две вставьте в нужное место строки «», например так: «До Нового Года осталось:
» [UPD3]: Good news everyone, в общем на дворе 21-ый век, пора бы уж добавить в скрипт javascript-функцию склонения (incline) существительных. Обновил в во втором сверху («основном») примере с часами и минутами, прежний хардкод закомментирован и его можно удалить (оставил для истории).
Пример работы скрипта таймера до Нового Года:
Отсчет времени до Нового Года
Как сделать обратный отчёт времени на JavaScript
В этой статье будет очень интересно, будет рассказываться как сделать JavaScript обратный отсчет времени до даты, при этом мы сделаем не только до дня, а ещё добавим отсчёт времени, плоть до минуты.
Ещё в конце будет можно скачать этот скрипт обратного отсчета времени на javascript для своего сайта, ещё можете посмотреть статью Как сделать таймер на JavaScript, в ней вы сделаете самый обычный таймер, без отсчёта до дней.
HTML:
Для начала, как всегда начнём с HTML, тут всё просто.
Как можете видеть это обычный HTML документ, единственное, мы создаём в нём div элемент, с классом timer , туда будем выводить значение нашего таймера.
JavaScript:
Вот теперь самое главное, это сама логика программы, а точнее теперь делаем скрипт на JavaScript, но сначала посмотрим логику программы.
Также, если вы ни разу не работали с временем на JavaScript, то посмотрите этот сайт.
Логика программы:
Суть того, как будет работать наша программа в том, что мы будем брать настоящие время и вычитать его из той даты, до которой нам нужно посмотреть отсчёт, к примеру, дата следующего первая сентября и т.д..
Всё это должно работать в интервале в одну секунду, и так каждый раз программа будет брать настоящие время и вычитать его из конечной даты, пока результат не будет равен или меньше нуля, после таймер останавливается.
Таким образом у нас должен получится таймер на сайт javascript.
Код программы:
Теперь займёмся кодом программы.
Это начало программы, давайте разберём его. Сначала мы создаём переменную которая хранит в себе элемент, в который будем отображать наш отсчёт.
Потом идёт функция в которой будем вычитать время, из заданного нами времени, вычитает настоящие время.
Дальше идёт JSON массив или ассоциативный массив, в котором мы как раз и храним данные до куда нам нужно отсчитывать наш таймер, как можете заметить у меня это девятое Мая, потом создаём строку формата YYYY-MM-DDTHH:mm:ss , но вместо букв подставляем значения из массива.
Сам таймер:
Теперь пришло время сделать сам таймер в интервале.
Теперь разберём код, в начале мы берём настоящие время, потом получаем время до которого нужно сделать отсчёт, дальше вычитаем в нашей функции из назначенного времени, настоящие время, функция возвращает миллисекунды разности этого вычитания.
Проверяем, если миллисекунд меньше или равно нулю, то выключаем интервал и выводим сообщение, что время закончилось.
Если условие не срабатывает, то из разности получаем время, дальше идёт самое интересное, мы создаём строку для вывода таймера, разберём его по подробнее.
- res.getUTCFullYear() — Получаем год, но в нашем коде вычитаем 1970, это нужно для того, чтобы отсчёт начинался с нулевого года, так как, по умолчанию год начинается 1970 года.
- res.getUTCMonth() — Просто получаем номер месяца.
- res.getUTCDate() — Получаем день, но из него вычитаем один, это нужно для того, чтобы не учитывался сегодняшней день, если этого не сделать, то дата всегда будет на один день больше, даже тогда, когда остались считанные минуты.
- res.getUTCHours() — Получаем час.
- res.getUTCMinutes() — Получаем минуты.
- res.getUTCSeconds() — Получаем секунды.
Можете заметить что выводим время по UTC. Дальше выводим эту строку таймер.
Тест программы:
Программу мы делать закончили, теперь покажу как она работает. У меня сейчас 23:19, я ставлю время на 23:20.
До нового года html
Итак, поехали! Обратный отсчет пошел! Устанавливаем на сайт красивый с четчик «До Нового года осталось. » со своей картинкой и думаем о подарках близким, друзьям, коллегам.
В ожидании 2017 Нового года в статье Обратный отсчет «До Нового года осталось» я рассказывала как добавить на сайт готовый виджет (гаджет) со счетчиком. Есть разные и интересные.
Но захотелось немного творчества. Долго искала такой счетчик, в который можно вставить свою картинку. Сегодня делюсь с Вами идеей (источник).
Код счетчика я условно разделила на 2 части. В первой части можно изменить картинку, цвет текста таймера и рамочки. Вторая часть остается неизменной.
Обе части кода счетчика нужно копировать и вставлять в Blogger в гаджет HTML/JavaScript (Дизайн -> Добавить гаджет) — см. в конце статьи.
(На сайтах, созданных на CMS WordPress код нужно вставить в виджет Текст).
! Если будете в счетчик добавлять свою картинку, то советую до вставки это изображение подогнать (изменить/обрезать) под ширину части своего сайта — куда будет вставлять счетчик (например, ширину боковой панели, сайдбара). Затем загрузить в любой черновик сообщения в Blogger. При нажатии правой кнопки мыши по картинке можно будет скопировать URL картинки (ссылка на картинку).
4px double blue ; width: 200px ; height: 350px ;»>
https://1.bp.blogspot.com/-28JelGun4wU/WiMzq30xc9I/AAAAAAAAAMM/F-I-QJdxP-AXQ5TCDLibBddPQ28ZXpbdgCLcBGAs/s1600/christmas-2846337_200x255.jpg » border=»0″/>
0000CC «>До Нового Года осталось
То, что выделено цветом — можно настроить:
- border: 4px — толщина линии рамки
- double blue — цвет рамки
- width: 200px — ширина всей рамки вокруг картинки
- height: 350px — высота всей рамки вокруг картинки и таймера
- https://1.bp.blogspot.com/-28JelGun4wU/WiMzq30xc9I/AAAAAAAAAMM/F-I-QJdxP-AXQ5TCDLibBddPQ28ZXpbdgCLcBGAs/s1600/christmas-2846337_200x255.jpg — URL картинки
- color: # 0000CC — цвет всего таймера (текст и цифры)
Предлагаю Вам готовые счетчики «До Нового года осталось. « для Ваших сайтов или блогов , если не хочется возиться с настройками.