Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: таймер [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 [2] 3 »   

> Без описания
SAD
Отправлено: 07 Февраля, 2010 - 15:05:02
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




спасибо, но куки лучше.
А как проверить , что кука существует с помощью javascript? Просто изначально я делаю проверку, если куки нет то задаю время таймеру, если есть, то время таймеру присваиваю значению куки. Я смотрел в гугле, но толкового нет ничего.

(Отредактировано автором: 07 Февраля, 2010 - 15:12:27)

 
 Top
JustUserR
Отправлено: 07 Февраля, 2010 - 15:25:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




SAD пишет:
Спасибо, но куки лучше.
А как проверить , что кука существует с помощью javascript? Просто изначально я делаю проверку, если куки нет то задаю время таймеру, если есть, то время таймеру присваиваю значению куки. Я смотрел в гугле, но толкового нет ничего.
Пожалуйста! Насчет проверки существование cookie с помощью JS можно воспользоваться функцией указанной здесь http://php.su/forum/topic.php?fo...24465#1249924465 Помните что функции JS для работы с cookie лучше потому что в них нет проблемы с перезагрузкой старница когда идет обмен с сервером через Iframe или AJAX и cookie не обновляются


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 07 Февраля, 2010 - 17:08:47
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Я сейчас с ума сойду с этим internet explorer, вот таймер
CODE (javascript):
скопировать код в буфер обмена
  1. function processTimer()
  2.     {
  3.       if(limit>0)
  4.         {
  5.           var timer=setTimeout("processTimer()",1000);
  6.           limit--;
  7.         }
  8.       else
  9.         {
  10.           result();
  11.         }
  12.       var limit_div = parseInt(limit/60);
  13.       var limit_mod = limit - limit_div*60;
  14.       limit_str = "До окончания теста осталось: ";
  15.       if (limit_div < 10)
  16.         limit_str = limit_str + "0";
  17.       limit_str = limit_str + limit_div + ":";
  18.       if (limit_mod < 10)
  19.         limit_str = limit_str + "0";
  20.       limit_str = limit_str + limit_mod + "&nbsp;&nbsp;";      
  21.       // вывод времени
  22.       el_timer = document.getElementById("timer");
  23.       if (el_timer)
  24.         el_timer.innerHTML = limit_str;
  25.     }

limit=30 секунд.
время показывается в таком виде min:sec;
в эксполере показывает 16655:31, хотя стоит 30 секунд, что ему надо?
 
 Top
Ch_chov
Отправлено: 07 Февраля, 2010 - 17:44:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. var limit = 30
  2. var processTimer = function() {
  3.   var limit_div = parseInt(limit/60)
  4.   var limit_mod = limit - limit_div*60
  5.   var limit_str = "До окончания теста осталось: "
  6.   if (limit_div < 10) limit_str += 0
  7.   limit_str += limit_div + ":";
  8.   if (limit_mod < 10) limit_str += 0
  9.   limit_str += limit_mod + "&nbsp;&nbsp;"  
  10.   el_timer = document.getElementById("timer")
  11.   if (el_timer) el_timer.innerHTML = limit_str
  12.   if(limit-- > 0) setTimeout(processTimer,1000)
  13.   else alert('result()')
  14. }


ИЕ какой версии? Попробуй этот код.
 
 Top
SAD
Отправлено: 07 Февраля, 2010 - 18:08:34
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




8 версии, все работает, спасибо.А почему не корректно работало?

(Отредактировано автором: 07 Февраля, 2010 - 19:50:33)

 
 Top
Ch_chov
Отправлено: 07 Февраля, 2010 - 20:16:32
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Незнаю. У меня и твой код в ИE работал.
 
 Top
JustUserR
Отправлено: 08 Февраля, 2010 - 00:37:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




SAD пишет:
8 версии, все работает, спасибо.А почему не корректно работало?
Может быть дело в области определения и вызова функуций и областей действия переменных - у вас было написано не var limit_str и val el_timer а просто то есть использовалась глобальная переменная - а также непонятно где и как определен limit был
SAD пишет:
Что ему надо?
Все-таки это IE и в нем имеется полноценный JS поэтому надо внимательнее относится к областям видимости


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
valenok
Отправлено: 08 Февраля, 2010 - 08:04:23
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




куки можно сохранять по window.onunload


-----
Truly yours, Sasha.
 
My status
 Top
JustUserR
Отправлено: 08 Февраля, 2010 - 17:31:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




valenok пишет:
Cookie можно сохранять по window.onunload
Собственно автором так и было сделано - просто если этот window.onload был сгенерирован выходом со страницы (Закрытие окна или вкладки то есть разрушением объекта window Улыбка то сохранение уже может не успеть сработать - ведь API-дейтсвия в JS происходят не мгновенно а по завершению пользовательской функции (Это можно проверить если сделать бесконечный цикл с API-функциями - alert не в счет - и собсвтенно говоря браузер будет просто висеть даже если в этом цикле предусмотрены какие-нибудь операции по изменению текста на странице Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 08 Февраля, 2010 - 17:59:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Собственно это целая проблема, т.к. печеньки и почитстить могут, думал загонять в сессию с помощью ajax. Но все методы провальны. Пока ничего лучше печенек не вижу.
 
 Top
JustUserR
Отправлено: 08 Февраля, 2010 - 18:11:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




SAD пишет:
Собственно это целая проблема, т.к. печеньки и почитстить могут, думал загонять в сессию с помощью ajax. Но все методы провальны. Пока ничего лучше печенек не вижу.
Все зависит от того насколько сильная нужна степень защиты - если очень сильная то только обмен через Iframe иои AJAX и хранение времени на сервере - потому что все остальное при желании можно подделать - но для умеренной безопасности cookie достаточно Кстати как варант можно сделать свой ActiveX-элемент который пользователь будет ставить для работы с сайтом - а внутри него уже можно организовать хорошую защиты отсчета времени Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 08 Февраля, 2010 - 21:18:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




у меня еще вопрос, как применить clearTimeout к остановке таймера, я сделал так,
в самом таймере написал
CODE (htmlphp):
скопировать код в буфер обмена
  1.  timer=setTimeout(processTimer,1000)
, а останавливаю в другой функции так: clearTimeout(timer);
Во всех браузерах работает, а в мелкомягком нет. Я неправильно делаю или в чем причина?

(Отредактировано автором: 08 Февраля, 2010 - 21:50:24)

 
 Top
JustUserR
Отправлено: 09 Февраля, 2010 - 14:04:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




SAD пишет:
Во всех браузерах работает, а в мелкомягком нет. Я неправильно делаю или в чем причина?
Наверное опять забываете про области видимости переменных - в IE язык JS-скриптов является самым функционалтным из всех браузеров и полностью поддерживает области видимости и контексты выполнения - так что не забывайте ставить var timer_id или к примеру window.timer_id но это уже будет не контекстая переменная


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 09 Февраля, 2010 - 19:21:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




собственно с таймером разобрался, вроде все норм.
Но опять спрошу за мелкомягкого, есть форма.
В ней группа радиобаттон, после выбора одного из них и после нажатия кнопки вызываю функцию
CODE (javascript):
скопировать код в буфер обмена
  1. function sbros_checkbox()
  2.     {
  3.       for(var h=0; h<document.test.Name.length; h++)
  4.         {
  5.           var n=document.getElementById(document.test.Name[h].id);
  6.           n.defaultChecked=false;
  7.         }
  8.     }

потом вызываю другую фукнцию
CODE (javascript):
скопировать код в буфер обмена
  1. function checkbox_check()
  2.     {
  3.       for(var h=0; h<document.test.Name.length; h++)
  4.         if(document.test.Name[h].checked==true)
  5.           {
  6.             document.getElementById(document.test.Name[h].id).defaultChecked=true;
  7.           }
  8.     }

первая ставит всем radiobutton default значения false.
вторая смотрит, если выбран радиобаттон, то значение устанавливается default.
IE как всегда тупит, он не выставляет default значение.
 
 Top
valenok
Отправлено: 10 Февраля, 2010 - 08:02:15
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Не очень понятно зачем выставлять полям default value если они и так false.
Попробуйте описать на словах какие действия вы хотите совершить над группой радио-кнопок.


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB