Обратный таймер
Написал обратный часовой таймер:
<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 заново весь код. Как этого избежать? |
Я думаю надо как-то через функцию сделать, типа так:
function timer(a,b){
var obj_sec=document.getElementById(a);
obj_min=document.getElementById(b);
...
и вызывать только timer('timer_inp_minn','timer_inp_secn') но не получаеться :( просто не работает тогда. Может я не правильно параметры описал... или еще что-то опустил... |
Прбывал даже так:
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>
таймера рабортают, но почемуто декримент постоянно уверичивается :( |
| Часовой пояс GMT +3, время: 03:10. |