Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Таймер до события (https://javascript.ru/forum/misc/38201-tajjmer-do-sobytiya.html)

DanilAndreev 23.05.2013 12:16

Таймер до события
 
Здравствуйте ув. Форумчане. Подскажите, пожалуйста, как реализовать следующее:

Необходим таймер который бы вел отсчет до определенного события, после чего вел отсчет времени сколько оно идет, а по окончании события опять вел отсчет времени до его начала.

Пояснение:
Событие в 18:00 идет 1 час
1. Отсчет времени до 18:00
2. По достижении 18:00 "прямой" отсчет 1 часа.
3. После отсчета 1 часа, включение отсчета времени до 18:00


Причем синхронизация должна быть с реальным временем. И желательно при всём этом учесть, что часовые пояса могут быть разные.

Таймеров таких на странице предполагается до 12 шт.

Буду очень благодарен, если вы объясните, как это сделать. Я совсем новичок в js. И буду очень признателен за подробное объяснение реализации.

skrudjmakdak 23.05.2013 15:09

date = new Date();
там есть разные методы, погуглите

DanilAndreev 23.05.2013 15:25

Цитата:

Сообщение от skrudjmakdak (Сообщение 252359)
date = new Date();
там есть разные методы, погуглите

эээ... гуглил. не помогает =(

масса таймеров... но хотя бы примера с тем что мне надо нет(

skrudjmakdak 23.05.2013 15:30

масса таймеров? хм.. приведите мне хотя бы 5..

DanilAndreev 23.05.2013 15:37

Цитата:

Сообщение от skrudjmakdak (Сообщение 252365)
масса таймеров? хм.. приведите мне хотя бы 5..

1
2
3
....

Продолжать?

А что там мелочиться вот вам 25 таймеров =)

Извините, но я тему создал, что бы спросить совета, и помощи….
А тут….

skrudjmakdak 23.05.2013 15:54

таймера всего 2. это setTimeout и setInterval. больше не существует!
разница между ними только в том что в setTimeout по истечении времени вызывается функция и таймер больше не работает. а в setInterval после вызова функции опять таймер запускается. т.е. он работает бесконечно. setInterval останавливают вручную.

var date = new Date(); - текущая дата и время
если эту функцию вызвать через промежуток времени и сделать разницу, то можно вычеслить кол-во сек между вызовами этих функций.

вы писали: "Необходим таймер который бы вел отсчет до определенного события".. можно пример этого события? нажатие кнопки или по окончанию времени программно нажать на кнопку?

dmitriymar 23.05.2013 15:58

Вы просите готовый скрипт с нуля.

Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.

DanilAndreev 23.05.2013 16:07

Цитата:

вы писали: "Необходим таймер который бы вел отсчет до определенного события".. можно пример этого события? нажатие кнопки или по окончанию времени программно нажать на кнопку?
нет, извените, я не правильно выразился наверное… событие, это просто событие… как в примере, просто 18:00. Событие должно произойти где – то, ну к примеру конец пары. На странице просто меняется время как в примере:
Событие в 18:00 идет 1 час
1. Отсчет времени до 18:00
2. По достижении 18:00 "прямой" отсчет 1 часа.
3. После отсчета 1 часа, включение отсчета времени до 18:00

Цитата:

Вы просите готовый скрипт с нуля.
нет я просил совета, как это сделать, а меня попросили найти определенное количество того что я уже нашел =)

skrudjmakdak 23.05.2013 16:28

используйте
setInterval(function()
{
var date = new Date();
//... достаете из даты нужные параметры (часы минуты) и дальше условие. если время за 18, то.. выполнить какие то действия

}, 10000); //вызывать 1 раз в 10 сек

DanilAndreev 23.05.2013 16:39

Спасибо. буду пробовать! Ещё один вопрос. На обной странице, будет много подобных счетчиков. Не случится ли конфликта, если я буду дублировать один код изменяя данные под каждый случай? Или стоит стараться сразу в один код включить все, что мне нужно, а не по отдельности?


Часовой пояс GMT +3, время: 22:11.