Как сделать секундомер html css

Добавил пользователь Alex
Обновлено: 04.10.2024

В данном уроке мы сделаем секундомер с использованием только CSS3. Для реализации идеи будут применяться кадры анимации CSS3 и свойство управления состоянием анимации (для функционирования кнопок управления секундомером). Изображение будет использоваться только в качестве фона (исключительно с эстетическими целями). А JavaScript применяется в виде плагина prefixfree - для уменьшения размера кода и повышения наглядности за счет исключения префиксов браузеров. Для логики и вывода секундомера не задействовано ни каких изображений и ни строчки JavaScript. Построение основы В основе логики работы нашего примера лежит простой элемент div, который содержит цифры, сменяющиеся с помощью анимации. Между цифрами имеются пробелы, так что их легко выровнять по вертикали уменьшив ширину контейнера. 1

Затем обернем наш простой элемент в дополнительный контейнер, чтобы выводить только одну цифру: 1

Данное решение предложил в комментариях Игорь.

Добавляем такие стили в CSS:

В скрипте меняем функцию инициализации таймера function initializeClock(id, endtime) <. >, остальное оставляем так же, как было:

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

Таймер установлен на 5 секунд и при окончании времени будет перезапущен еще на 5 секунд

Обратите внимание, что при обнулении таймера нам нужно задать новый дедлайн, и он может быть совсем другим, чем первоначальный, который указан на предпоследней строке кода:

Рабочий пример таймера обратного отсчета времени с рестартом

Рекомендую к прочтению:

Комментарии (140) к “Простой таймер обратного отсчета на Javascript”

Артём

Я закопипастил код. В моем случае надо отсчитывать от 35 до 0 секунд. Таймер считает от 35 до 19 сек, а потом начинает считать в обратном порядке, от 19 до 60

Denis Creative

Никита

А как задать текущее время? Чтоб отсчет таймера шел от реально времени

Denis Creative

Это таймер обратного отсчета. Что вы имеете в виду под “Чтоб отсчет таймера шел от реально времени”?

Никита

Чтобы отсчет шел от времени которое на данный момент и до конечной даты

Denis Creative

По такому примеру таймер будет отсчитывать время до 20 мая

Александр

Подскажите как скрыть таймер когда время вышло?

Игорь

Denis Creative

Игорь

Это вам спасибо уже 3 заказ на фрилансе на основе этого кода )))

Николай

Подскажите, как сделать, чтобы при перезагрузке страницы время таймера не сбрасывалось?

Denis Creative

Таймер должен быть задан в таком случае на конкретную дату:
var deadline="January 01 2019 00:00:00 GMT+0300";
а не на текущее время + время таймера:
var deadline = new Date(Date.parse(new Date()) + 35 * 1000);

Денис

Здравствуйте, отличный таймер, то что надо, подскажите как зациклить таймер, что бы он досчитал до конца и начал заново считать .

Denis Creative

Приведите пример, что нужно. Потому как в статье описаны 2 варианта, которые требуются в 99% использования таймеров.

Денис

Зациклить таймер можно ?

Денис

Так я же написал, что бы по окончанию счета он начал заново считать, а в примерах он заканчивает считать и показывается блок time the up

Denis Creative

заменить на этот:

Рабочий пример добавил в статью

Денис

Здравствуйте, а если такая задача: считать до определённого времени от текущая дата + N дней?

Denis Creative

От текущей даты до + N дней такой код используется:

15 – дни
24 – часы
60 – минуты

Александр

Denis Creative, здравствуйте!
Спасибо Вам за эту статью, она почти мне помогла.
Хотелось бы узнать, если ли возможность чтобы счетчик сбрасывался на сайте каждые два дня Допустим я его выгружаю в 0:00 и он стартует на два дня и потом снова сбрасывается на два дня.
Как я понял ваш вариант он запускается автоматически при загрузке старицы и другой каждый раз надо менять дату в коде.

Denis Creative

Нужно взять код таймера обратного отсчета времени с рестартом и поменять
1. Конечную дату

2. Обновление конечной даты после истечения срока действия таймера

Виталий

Денис. А можете еще подсказать как сделать чтобы таймет продолжал считать в обратном направлении и при этом класс добавлялся к цифрам?
То-есть задача сделать что-то з 10 минут, таймер для тернировки. Если в 10 минут не укоадываются то красным идет обратный отсчет на сколько превысили время?

Denis Creative

Мне кажется, этот таймер не совсем подходит под Вашу задачу.

Здравствуйте, подскажите пожалуйста как сделать чтобы отсчёт шел допустим 2012 года 1 января допустим и до бесконечности? посмотрел в data-countdown на гите , там у них есть пример, но как реализовать так и не понял..
Спасибо.

Denis Creative

Не понял вопрос, как это до бесконечности?
Таймер обратного отсчета предполагает, что есть конечная дата, и ведет отсчет до нее.
Подсчет времени от какой-то даты до текущего момента, это простой таймер. Вам нужен просто таймер? Для этого нужен другой код.

Подскажите, а как в скрипте указать отображение русского языка. У меня ����������� отображается когда меняю на русский текст

Denis Creative

Стоит в шапке, все как надо. Причем вокруг текст на странице русский, нормально отображается, а вот именно текст скрипта ������������ ��������

Denis Creative

Чет не пойму, какой текст скрипта? Если скрипт только цифры выводит…

Dvtcnj Countdown Clock русская фраза, и вместо Hours и пр. Руский шрифт коверкается.

Denis Creative

Эти фразы не в скрипте, а в HTML используются.
Проверьте кодировку файла, чтобы там было UTF-8 без BOM.

санек

как сделать чтобы он не запускался сам?

Denis Creative

а как он должен запускаться?

санек

Denis Creative

это вам нужен обычный таймер, наверное

Владимир

Добрый день. А как сделать чтобы счетчик времени начинался с 02 часов 35 мин 25 сек?

Владимир

точнее таймер с обратным отчетов начинался 02:35:24

Denis Creative

2*60*60 + 35*60 + 24 = 9324 секунды

Нурбек

у меня ничего не выводит –

Может устарела библиотека?

Denis Creative

Тут нечему устаревать – проверьте свой HTML

Павел

Чтобы не возникала ошибка

Необходимо поместить в конец страницы, перед закрывающим тэгом

Эта ошибка чаще всего происходит, когда вы обращаетесь к свойствам объекта раньше, чем объект готов: Скорее всего, объект ещё не загрузился, а скрипт его требует прямо сейчас. Строка:

Анастасия

А как сделать что бы таймер который по окончанию времени начинает отсчет заново (последний вариант) не скидывал время при обновлении страницы?
Т.е. мне надо чтоб он отсчитывал допусти 24 часа с 00:00:00 и в полночь отсчет опять обнулялся бы. А то сейчас получается что если ставить 12 часов отсчета при обновлении страницы опять 12 часов, а не 11:58

Denis Creative

Анастасия

Спасибо. Сначала почему то не получилось, но теперь все работает!

Denis Creative

Только там пример для 2-ух дней, вам нужно изменить 2 на 1, чтобы было для одного дня.

Максим

Здравствуйте! Стоит такая задача. Таймер обратного отсчета, но что бы он отсчитывал до 15 числа каждого месяца до 19.00. Потом перезапускался и снова отсчитывал до 15 числа 19.00 следующего месяца. И так постоянно. Просто если поставить 30 дней а в месяце будет 31 то получиться что таймер не правильно будет считать

Denis Creative

Напишите функцию, которая будет по текущему месяцу высчитывать правильное количество дней и время до окончания.

Андрей

Здравствуйте! А как сделать так, что бы текущему времени добавить еще несколько секунд? Когда добавляю по кнопке запуск функции initializeClock(‘clockdiv’, deadline); – то считает уже два времени одновременно. Как остановить(убрать) первый отсчет времени? или обновить его

Denis Creative

Создайте пример на Codepen – будет понятнее, что вы имеете в виду.

Петро

Когда цепляете запуск функции к кнопке, то убирайте запуск функции в конце самого кода таймера

Михайл

Спасибо! То что нужно ) Искал, но попадалось всякое. Мне нужна была фишка с указыванием GMT+0300 а то для разных стран показывалось разные значения )

Денис, здравствуйте. Смотрите, у меня два счётчика на сайте, что мне сделать, чтобы второй счётчик не слетел? Пожалуйста помогите

Denis Creative

Задать им разные id .

При этом весь скрипт копировать не нужно, просто инициализировать второй таймер отдельно initializeClock('countdown-2', deadline);

Спасибо вам большое, Денис. Пост 17 года, а вы до сих пор помогаете другим. А таймер вообще очень хороший :)

Denis Creative

Рад, что информация на сайте полезна для кого-то)

Павел

Здравствуйте! Подскажите пожалуйста, нужен циклический таймер, на 15 дней, но чтобы при перезагрузке страницы время таймера не сбрасывалось. Возможно такое реализовать?

Denis Creative

Можно, если использовать куки.

Василий

Алексей

Было бы круто если дописать вывод слов (дни, часы, минуты, секунды) на js и проверять текущее значение времени и выводить корректное слово например 43 минуты или 25 минут. Думаю посыл понятен.

Denis Creative

Тогда это уже не будет “Простой таймер обратного отсчета на Javascript”.

Соломон

Здравствуйте ! Спасибо за таймер. Подскажите , пожалуйста, как изменить код , чтоб число дней могло быть трёхзначным .
Спасибо.

Denis Creative

А в чем проблема?

Выводится трехзначное число

Соломон

Denis Creative

Добрый день, подчистив немного Ваш код и заменив переменную deadline :
var deadline="January 01 2022 00:00:00 GMT+0300";
получаем вполне рабочий вариант с трехзначным форматом для дней.
В Codepen во вкладке HTML нужно добавлять только код HTML внутри тега , во вкладке CSS нужно следить за правильным открытием и закрытием скобок, а во вкладке JS не должно быть ничего лишнего кроме кода Javascript.

Соломон

Уважаемый Денис! Огромное спасибо! Желаю Вам здоровья и успехов!

Denis Creative

Олександр

Здравствуйте а как сделать так чтобы скрипт отсчитывал от введенной даты 7 дней и писал осталось
например ведена дата 2019-10-1 , отсчитывал этой даты 7 дней и выводил оставшихся дней, часов,… до читал до ноля после останавливался

Denis Creative

Просто немного изменить скрипт, или заказать нужный скрипт на фрилансе.

Олександр

вопрос как изменить)))

Олександр

или боле точнее вы может его так изменить? сам наверное не допру((((

Denis Creative

Извиняюсь, нет времени разбираться, может кто-то здесь ответит, но лучше обратиться на фриланс.

Олександр

понятно печально, спасибо за помощь врядли тут кто-та поможет, а можно взять ваш код и обратиться за помощью на другие ресурсы??

Denis Creative

Да, конечно, успехов!

Алиса

А как остановить таймер, когда время закончится (будет значение во фронте 0:0:0:0, чтобы в минус не уходило)?

Сергей

Сергей

Спасибо! Отлично! Встроил его в компонент в битриксе. Крутое и простое в реализации решение!

Розалия

Denis Creative

Нужно поменять функцию updateClock()

Розалия

Спасибо большое! Всё работает правильно.

Александр

Денис, здравствуйте а как сделать так же только 2 дня.
А то тот что выше не работает(

Denis Creative

Всё работало, сделайте на codepen пример, будет видно, что не работает и почему.

viktor

всё отлично работает.Скрипт вставил себе на сайт, и просто повставлял себе в код ID и class, и все отлично заработало. Спасибо.

Dennis

Denis Creative

Проверьте все классы и их правильное использование в javascript-коде. Данный таймер работает во всех браузерах.

Dennis

Вопрос решил! Была проблема с форматом даты, вместо “March 15 2020 00:00:00 GMT+0300” я указал ‘Sun, 15 Mar 2020 00:00:00 GMT’ и таймер заработал

Denis Creative

Виктор

Интересный модуль, но есть вопрос. Можно как то на сайте добавить 2 раза тот же модуль 1 с тайм енд с текстом об етом и 2 с тайм рестарт? У меня конфликт получается.

Denis Creative

добавить разные ID для блоков таймеров и соответственно, и будет 2 функции

и будут две инициализации

В HTML будет 2 таймера

Остальной код по идее можно оставить. Главная идея в разных ID.

Виктор

проверяю по разному но нет отображения времени,что то видимо не так.

Denis Creative

Проверьте классы, id, и код в скрипте.

Vadim

Добрый день, все круто, спасибо.
Но есть один момент. Стоит задача сделать таймер на два времени.
12:00 и 20:00 то есть как только время достигает 12:00 таймер должен начинать считать до 20:00 и такое период каждый день.
За ранее спасибо.

Denis Creative

Обратитесь на фриланс, я делал разные варианты только для часто используемых таймеров.

Bublik

Спасибо за таймер, благодаря тебе выполнил около десятка версток с знанием лишь html/css))

Denis Creative

Успехов! Но jquery тоже желательно подучить, там ничего сложного нету.

Ксения

Спасибо, все понятно и просто

ПОМОГИ

ПОЧЕМУ У МЕНЯ НЕ РАБОТАЕТ ТАЙМЕР ЧТО НАДА ДЕЛАТЬ ПЛИЗ ПОМОГИ

Denis Creative

В статье все подробно расписано. Нужно HTML код вставить в свой HTML файл, а CSS в свой файл стилей, javascript нужно закинуть в свой файл скриптов и не забыть подключить jquery. Все просто.

Александр

Не работает все равно

Сергей

При попытке отписаться от комментариев в этой ветке у тебя на сайте возникает ошибка.

Denis Creative

Елена

Здравствуйте!
Спасибо за Ваш таймер, получилось его настроить под свои нужды, но беда в том, что мне нужно его сбрасывать, если пользователь логинится на сайте.
То есть, я при инициализации автоизации вызываю функцию cancelTimer

в надежде, что отработает if в функции initializeClock и таймер очистится.
Но почему-то clearInterval(timeInterval); не отрабатывает.
Я думала, что это из-за области видимости, но у меня никак не получается с этим разобраться, даже если вынести let timeInterval из функции в глобальную область видимости.

Вот мой код инициализации таймера:

Буду очень благодарна за любую подсказку

скажите почему нечего не работает все подключил и ввел. А таймер не запускается.

Denis Creative

Залейте страницу со всем кодом таймера на какой-нибудь тестовый сервер, чтобы можно было ответить.
У всех работает, значит нужно искать у вас ошибку.

Да,я в гугле рылся,и там всё в усложнённом варианте.Мне нужно только по простому,поскольку я в JS только 2 день.вот я написал,но не работает.Подскажите пожалуйста как можно,и по самому простому(чтобы обновлялось прямо на странице,без всяких рефрешов).

И снова секундомер
Пишу игру на яваскрипт, при нажатии на кнопку "Новая игра" запускается секундомер. Взял код с.

аналоговый секундомер
Помогите написать HTML страницу с Javascript кодом: По нажатию кнопки старт запускает аналоговый.


Секундомер для игры
Добрый день) Помогите, пожалуйста, кому несложно) Очень нужен код секундомера на javascript для.

Секундомер на сайте (скрипт, код и т.д.) Как сделать?:)
Друзья, а как сделать секундомер (просто счётчик) на сайте (какой скрипт или код) чтобы можно.

Обратный таймер на JavaScript

Сегодня мы рассмотрим таймер обратного отсчета. Такие таймеры часто используются на различных продающих страницах, на лэндингах, на страницах ожидания, на страницах реконструкции сайта и т.д.

ПРИМЕРЫ:

Тамер в строгом стиле

HTML разметка

CSS оформление

JS скрипт

Веселый таймер с шариками

HTML разметка

CSS оформление

Таймер на черном фоне в стиле минимализм

HTML разметка

CSS оформление

JS скрипт

Таймер на CSS без применения JS

HTML разметка

CSS оформление

Многофункциональный таймер

HTML разметка

CSS оформление

JS скрипт

Cмотрю на свой контент и думаю: стал бы я сам делиться им с друзьями?

Похожие статьи:

Комментарии ( )

Дело в том, что здесь в коде указано относительное время, сделайте его в формате окончательной даты, тогда таймер не будет сбрасываться а будет сначала отсчитывать сколько осталось, затем продолжать считать отнимая секунды

Читайте также: