X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Таймер
Jarik_spb
Jarik_spb
Topic Starter сообщение 5.11.2008, 18:53; Ответить: Jarik_spb
Сообщение #1


Добрый день!
у меня проблема, я не силен в JavaScript, но есть задача, всю голову сломал и не знаю как реализовать.
задача:
Каждый день есть 5 событий между которыми разница в 2 часа, но между 1 и 5 событием разница допустим в 6 часов.
хотелось бы сделать таймер который будет отсчитывать время до каждого события, а после достижения - сбрасываться и отсчитывать заново.
Надеюсь понятно объяснил! помогите плиз а то я уже :wacko:
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 5.11.2008, 19:14; Ответить: Webmaster_hb
Сообщение #2


правильно составленное Техническое задание - это на 80% решение проблемы
сначала попробуйте описать более толково задачу, разделите объекты, события между собой, потом попробуйте описать пути решения каждой из маленьких задач без углубления в техническое исполнение
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jarik_spb
Jarik_spb
Topic Starter сообщение 5.11.2008, 19:39; Ответить: Jarik_spb
Сообщение #3


т.е не понятно! :)
Задача.

02.00 - 1 событие(таймер показывает до события осталось 1час45мин), после достижения 2.00 сбрасывается в 0
4.00 - 2 событие (таймер показывает до события осталось 1час45мин), после достижения 4.00 сбрасывается в 0
6.00 - 3 событие (таймер показывает до события осталось 1час50мин), после достижения 6.00 сбрасывается в 0 и показывает что до 1 события осталось 20часоХХ минут


ну как-то так...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 5.11.2008, 19:52; Ответить: Webmaster_hb
Сообщение #4


теперь попробуйте составить алгоритм

имеем в наличии текущее время
можем определить в каком из диапазонов оно находится
можем определить разность между текущим моментом и временем "Ч"
теперь задача сводится к написанию обычного! таймера до заданного времени

p.s. на каком из этапом есть сложность ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jarik_spb
Jarik_spb
Topic Starter сообщение 5.11.2008, 21:07; Ответить: Jarik_spb
Сообщение #5


сори!!! пока писал сам понял!:rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jarik_spb
Jarik_spb
Topic Starter сообщение 5.11.2008, 22:44; Ответить: Jarik_spb
Сообщение #6


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>тест</title>
</head>
<body>
<div id="timer"></div>
<script>
var limit = 300; // в секундах
function processTimer(){
if (limit > 0) {
setTimeout("processTimer()",1000);
limit--;
} else {
// здесь действия после завершения таймера
//..
}
var limit_div = parseInt(limit/60); // минуты
var limit_mod = limit - limit_div*60; // секунды
// строка с оставшимся временем
limit_str = "&nbsp;&nbsp;";
if (limit_div < 10) limit_str = limit_str + "0";
limit_str = limit_str + limit_div + ":";
if (limit_mod < 10) limit_str = limit_str + "0";
limit_str = limit_str + limit_mod + "&nbsp;&nbsp;";
// вывод времени
el_timer = document.getElementById("timer");
if (el_timer) el_timer.innerHTML = limit_str;
}
processTimer();
</script>
</body>


как тут поменять размер и цвет выводимого таймера???$$
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 6.11.2008, 0:43; Ответить: Webmaster_hb
Сообщение #7


в head добавить
<style>
#timer {
color:red;
}
</style>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jarik_spb
Jarik_spb
Topic Starter сообщение 6.11.2008, 13:26; Ответить: Jarik_spb
Сообщение #8


помогите плиз оптимизировать код под HTML,
это исхоник, но сколько бы я не редактировал бы, таймер обновляется только с обновлением страницы! :(((



var Dtime;
var outDate;
var event1, event2, event3, event4;

Dtime = new Date();

Year = Dtime.getFullYear();
Month = Dtime.getMonth();
Day = Dtime.getDate();
Hour = Dtime.getHours();
Sec = Dtime.getTime();


event1 = Date.parse(Year + "/" + Month + "/" + Day + " 02:00:00");
event2 = Date.parse(Year + "/" + Month + "/" + Day + " 04:00:00");
event3 = Date.parse(Year + "/" + Month + "/" + Day + " 06:00:00");
event4 = event1 + 60 * 60 * 24 * 1E6; // Event 1 at next day

outDate = new Date;

if (Sec >= event3) {
outDate.setTime(event4 - Sec);
} else if (Sec >= event2) {
outDate.setTime(event3 - Sec);
} else if (Sec >= event1) {
outDate.setTime(event2 - Sec);
} else {
outDate.setTime(event1 - Sec);
}

WScript.echo ("Remain time : " + outDate.getHours() + ":" + outDate.getMinutes() + ":" + outDate.getSeconds());
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 6.11.2008, 15:42; Ответить: Galen
Сообщение #9


Чтобы таймер постоянно работал используйте:
setTimeout("f()", 1000);

Где первый параметр вызываемая функция, второй - время в мс через которое эта функция вызовется.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Jarik_spb
Jarik_spb
Topic Starter сообщение 6.11.2008, 19:47; Ответить: Jarik_spb
Сообщение #10


:wacko: чесное слово.....не получается...:((
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Таймер
0 Al-ximik 2693 30.3.2015, 10:05
автор: -Al-ximik-
Открытая тема (нет новых ответов) Таймер обратного отсчета
3 stops2012 7994 6.11.2011, 1:45
автор: -Galen-


 



RSS Текстовая версия Сейчас: 28.3.2024, 19:43
Дизайн