Защита значения переменной..
Добрый день!
У меня вопрос, как можно "защитить" значение переменной? Суть: есть таймер, в который передается значение с помощью php.. Это значение используется в методе таймера.. Но банальный: javascript: param = n; где n-временное значение. Отбрасывают таймер на необходимое значение.. Как "защитить" эту переменную от такого шага? (переприсваивание в теле тоже не выход.. так как и те "переприсвоенные" можно поменять..) OnChange вешать тоже на мой взгляд бессмысленно, ведь переменная таймера всегда меняется.. |
gJam,
код таймера в студию |
function processTimer(){ if (limit > 0) { setTimeout("processTimer()",1000); limit--; } else { timer_hour = '00' timer_min = '00' timer_sec = '00' /*document.testCheck.submit();*/ } var timer_hour = parseInt(limit/3600); var temp_min = limit - timer_hour*3600; var timer_min = parseInt(temp_min/60); var timer_sec = temp_min - timer_min*60; if (timer_hour < 10) timer_hour = '0'+timer_hour; if (timer_min < 10) timer_min = '0'+timer_min; if (timer_sec < 10) timer_sec = '0'+timer_sec; // вывод времени document.getElementById('hour_timer').innerHTML=timer_hour; document.getElementById('minute_timer').innerHTML=timer_min; document.getElementById('second_timer').innerHTML=timer_sec; } Limit получает значение "снаружи", при генерации страницы.. т.е. <script type='text/javascript'>Var limit = (предположим) 500;</script> <script type='text/javascript' src='путь до файла с методом'></script> |
gJam,
Какую переменную защищаем ? |
которая является носителем времени, т.e. limit
|
Дзен-трансгуманист,
Но и таймер перестаёт работать.. После функции таймера еще есть: processTimer; var saveOnLoad = window.onload; window.onload = function(){ saveOnLoad(); processTimer(); } Вызов функции и помещение в onload с сохранением предыдущих функций т.е. похоже ошибка в работе связана с обращение к processTimer |
Цитата:
|
Цитата:
|
Большое спасибо всем участникам обсуждения!
|
gJam,
<script type="text/javascript"> var limit = 10 var DecrTimer = (function( limit ){ var Lm2 = limit+1; return LIM=function () { Lm2--; return Lm2; } })(limit) alert(LIM()) alert(LIM()) alert(LIM()) </script> Внутри функции processTimer() пользуетесь не limit - а такой конструкцией Tim=LIM() |
Часовой пояс GMT +3, время: 16:25. |