Обратный таймер
Написал обратный часовой таймер:
<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, время: 15:07. |