Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.11.2009, 16:37
Аспирант
Отправить личное сообщение для peter888 Посмотреть профиль Найти все сообщения от peter888
 
Регистрация: 24.07.2009
Сообщений: 60

Обратный таймер
Написал обратный часовой таймер:
<script type="text/javascript">
function timer(){
 var obj_sec=document.getElementById('timer_inp_sec');
	 obj_min=document.getElementById('timer_inp_min'); 
	 
 obj_sec.innerHTML--;
 
 if (obj_sec.innerHTML <= 9) {obj_sec.innerHTML='0'+obj_sec.innerHTML};
 obj_min.innerHTML = obj_min.innerHTML*1 ;
 if (obj_min.innerHTML <= 9) {obj_min.innerHTML='0'+obj_min.innerHTML};
 
 if((obj_min.innerHTML=='00')&&(obj_sec.innerHTML=='00')){ 
		//window.location ='http://google.com.ua';
		document.location.reload();
 		setTimeout(function(){},1000);}	 
 if(obj_sec.innerHTML=='0-1')
 { 	   
 	if(obj_min.innerHTML!='00')
 	{
 		obj_min.innerHTML--;
 		if (obj_min.innerHTML <= 9) {obj_min.innerHTML='0'+obj_min.innerHTML};	 				
 		obj_sec.innerHTML = 59;
		setTimeout(timer,1000);
 	} 
 }
 else{setTimeout(timer,1000);
 } 
if ((obj_sec.innerHTML == '0-1')&&(obj_min.innerHTML == '00')) {obj_sec.innerHTML = '00';obj_min.innerHTML = '00';}
}
setTimeout(timer,1000);
</script>
<b><span id="timer_inp_min">01</span>:<span id="timer_inp_sec">03</span></b>

Проблемма такая: мне надо использовать кучу (например 30) таймеров на одной странице.
<b><span id="timer_inp_min1">01</span>:<span id="timer_inp_sec1">03</span></b>
<b><span id="timer_inp_min2">01</span>:<span id="timer_inp_sec2">03</span></b>
<b><span id="timer_inp_min3">01</span>:<span id="timer_inp_sec3">03</span></b>
<b><span id="timer_inp_min4">01</span>:<span id="timer_inp_sec4">03</span></b>
<b><span id="timer_inp_min5">01</span>:<span id="timer_inp_sec5">03</span></b>
...
<b><span id="timer_inp_minn">01</span>:<span id="timer_inp_secn">03</span></b>

думаю понятно.
Это получаеться, что надо писать к каждому timer_inp_mink и timer_inp_seck заново весь код.
Как этого избежать?

Последний раз редактировалось peter888, 19.11.2009 в 16:43.
Ответить с цитированием
  #2 (permalink)  
Старый 20.11.2009, 09:13
Аспирант
Отправить личное сообщение для peter888 Посмотреть профиль Найти все сообщения от peter888
 
Регистрация: 24.07.2009
Сообщений: 60

Я думаю надо как-то через функцию сделать, типа так:
function timer(a,b){
 var obj_sec=document.getElementById(a);
     obj_min=document.getElementById(b); 
...

и вызывать только
timer('timer_inp_minn','timer_inp_secn')
но не получаеться просто не работает тогда.
Может я не правильно параметры описал... или еще что-то опустил...
Ответить с цитированием
  #3 (permalink)  
Старый 20.11.2009, 11:55
Аспирант
Отправить личное сообщение для peter888 Посмотреть профиль Найти все сообщения от peter888
 
Регистрация: 24.07.2009
Сообщений: 60

Прбывал даже так:
function timer()
{ var obj_min, obj_sec; 
 for(i=1;i<=2;i++){
  	 obj_min=document.getElementById('timer_inp_min'+i);
 	 obj_sec=document.getElementById('timer_inp_sec'+i); 
	 
 obj_sec.innerHTML--;
 
 if (obj_sec.innerHTML <= 9) {obj_sec.innerHTML='0'+obj_sec.innerHTML};
 obj_min.innerHTML = obj_min.innerHTML*1 ;
 if (obj_min.innerHTML <= 9) {obj_min.innerHTML='0'+obj_min.innerHTML};
 
 if((obj_min.innerHTML=='00')&&(obj_sec.innerHTML=='00')){ 
		//window.location ='http://google.com.ua';
		document.location.reload();
 		setTimeout(function(){},1000);}	 
 if(obj_sec.innerHTML=='0-1')
 { 	   
 	if(obj_min.innerHTML!='00')
 	{
 		obj_min.innerHTML--;
 		if (obj_min.innerHTML <= 9) {obj_min.innerHTML='0'+obj_min.innerHTML};	 				
 		obj_sec.innerHTML = 59;
		setTimeout(timer,1000);
 	} 
 }
 else{setTimeout(timer,1000);
 } 
if ((obj_sec.innerHTML == '0-1')&&(obj_min.innerHTML == '00')) {obj_sec.innerHTML = '00';obj_min.innerHTML = '00';}		
}	
}	
setTimeout(timer,1000);
...
<b><span id="timer_inp_min1">01</span>:<span id="timer_inp_sec1">03</span></b> <br>
<b><span id="timer_inp_min2">3</span>:<span id="timer_inp_sec2">34</span></b>

таймера рабортают, но почемуто декримент постоянно уверичивается
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стрелковый таймер на Java unionstream Работа 2 09.11.2009 18:34
Графический таймер обратного отсчета bobri4 Элементы интерфейса 4 24.08.2009 21:50
Таймер обратного отсчета Mihael-Vlz Общие вопросы Javascript 1 14.06.2009 18:21
Таймер в цикле Winkiller Общие вопросы Javascript 10 06.05.2009 20:10
таймер обратного отсчета Mignon Общие вопросы Javascript 1 07.06.2008 16:16