Защита значения переменной..
Добрый день!
У меня вопрос, как можно "защитить" значение переменной? Суть: есть таймер, в который передается значение с помощью 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, время: 19:19. |