Таймер до события
Здравствуйте ув. Форумчане. Подскажите, пожалуйста, как реализовать следующее:
Необходим таймер который бы вел отсчет до определенного события, после чего вел отсчет времени сколько оно идет, а по окончании события опять вел отсчет времени до его начала. Пояснение: Событие в 18:00 идет 1 час 1. Отсчет времени до 18:00 2. По достижении 18:00 "прямой" отсчет 1 часа. 3. После отсчета 1 часа, включение отсчета времени до 18:00 Причем синхронизация должна быть с реальным временем. И желательно при всём этом учесть, что часовые пояса могут быть разные. Таймеров таких на странице предполагается до 12 шт. Буду очень благодарен, если вы объясните, как это сделать. Я совсем новичок в js. И буду очень признателен за подробное объяснение реализации. |
date = new Date();
там есть разные методы, погуглите |
Цитата:
масса таймеров... но хотя бы примера с тем что мне надо нет( |
масса таймеров? хм.. приведите мне хотя бы 5..
|
Цитата:
2 3 .... Продолжать? А что там мелочиться вот вам 25 таймеров =) Извините, но я тему создал, что бы спросить совета, и помощи…. А тут…. |
таймера всего 2. это setTimeout и setInterval. больше не существует!
разница между ними только в том что в setTimeout по истечении времени вызывается функция и таймер больше не работает. а в setInterval после вызова функции опять таймер запускается. т.е. он работает бесконечно. setInterval останавливают вручную. var date = new Date(); - текущая дата и время если эту функцию вызвать через промежуток времени и сделать разницу, то можно вычеслить кол-во сек между вызовами этих функций. вы писали: "Необходим таймер который бы вел отсчет до определенного события".. можно пример этого события? нажатие кнопки или по окончанию времени программно нажать на кнопку? |
Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
Цитата:
Событие в 18:00 идет 1 час 1. Отсчет времени до 18:00 2. По достижении 18:00 "прямой" отсчет 1 часа. 3. После отсчета 1 часа, включение отсчета времени до 18:00 Цитата:
|
используйте
setInterval(function() { var date = new Date(); //... достаете из даты нужные параметры (часы минуты) и дальше условие. если время за 18, то.. выполнить какие то действия }, 10000); //вызывать 1 раз в 10 сек |
Спасибо. буду пробовать! Ещё один вопрос. На обной странице, будет много подобных счетчиков. Не случится ли конфликта, если я буду дублировать один код изменяя данные под каждый случай? Или стоит стараться сразу в один код включить все, что мне нужно, а не по отдельности?
|
Часовой пояс GMT +3, время: 09:01. |