Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблема с таймером
 
 автор: chexov   (08.12.2009 в 09:19)   письмо автору
 
 

есть скрипт, алгоритм которого прост:

1. человек заходит на страницу, включается таймер (отсчет времени назад)
2. Счетчик установлен к примеру на 10 секунд
3. По истечению 10 секунд, человеку выводится какая то информация.

код таймера на JS
<script> 
var TA = 10; // отчетная метка в секундах 
var CT = 1; // период изменения показаний таймера в сек
onload = function myTimer () 

if (TA > 0) 
   { 
  TA--; 
  document.getElementById ('tim01').innerHTML = ((TA < 10) ? '0' : '') + '' + TA; 
  setTimeout (myTimer, CT * 1000); 
   } 
else 
   { 
   document.getElementById ('tim01').style.display = 'none'; 
   document.getElementById ('result').style.display = 'block'; 
   } 

</script>

<!--Выводим-->
<SPAN ID="tim01"></SPAN>
<SPAN ID="result" style="display: none">Информация</SPAN>

Проблема возникла в том, что таймер, при обновлении страницы средствами браузера становится на отчетную метку т.е 10 секунд.
Вопрос: Что нужно сделать чтобы счетчик таймера не обновлялся, а дошел до конца и человеку была показана информация?

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

  Ответить  
 
 автор: АЯ   (08.12.2009 в 15:44)   письмо автору
 
   для: chexov   (08.12.2009 в 09:19)
 

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

  Ответить  
 
 автор: chexov   (09.12.2009 в 02:18)   письмо автору
 
   для: АЯ   (08.12.2009 в 15:44)
 

а если как вариант, отталкивание от даты которая записана в БД? т.е в БД есть некая дата в формате unixstamp от нее считать, только не соображу как...чую что тут асинхронизация нужна...

  Ответить  
 
 автор: АЯ   (09.12.2009 в 02:30)   письмо автору
 
   для: chexov   (09.12.2009 в 02:18)
 

Хм...

Ситуация 1. Товарищ Х впервые зашёл на ваш сайт 1 мая 2010 года. Дождавшись окончания работы таймера, он через 10 (20-100) секунд обновил страницу. Вы хотите, чтобы он снова не получил таймер. Это понятно и нормально. И именно об этом был ваш вопрос.

Ситуация 2. Товарищ Y впервые зашёл на ваш сайт 1 мая 2010 года. НЕ дождавшись окончания работы таймера, он обновил страницу. Что надо показать товарищу Y в этом случае - таймер или без таймера? - спрашиваю вас я. Вы не отвечаете, а несёте какую-то пургу про БД и асинхронизацию.

Ситуация 3. Товарищ Z впервые зашёл на ваш сайт 1 мая 2010 года. Неважно, что он делал (или не делал) с обновлением страницы. Он "отличился" тем, что зашёл на ваш сайт ещё и 2-го мая 2010 года. Что надо показать товарищу Z в этом случае, 2-го мая 2010 года - таймер или без таймера? - спрашиваю вас я. Но вы не отвечаете, а несёте какую-то пургу про БД и асинхронизацию.

[поправлено модератором]

  Ответить  
 
 автор: chexov   (09.12.2009 в 07:56)   письмо автору
 
   для: АЯ   (09.12.2009 в 02:30)
 

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

мне НЕ подходит, нормальная реакция, поинтересоваться почему (либо промолчать), а вы проявляете агрессию, да еще к тому же грубите. Отвечаю почему, мне нет необходимости использовать куки, во вторых: не важно что будет отображаться при обновлении страницы, главное чтобы таймер продолжил считать не возвращаясь в исходное положение. Также поясняю КАК, будут определяться ТОВАРИЩИ N, их id имеются в БД, и на страницу с таймером они могут попасть только после авторизации!!!!

[поправлено модератором]

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования