как включить 3 таймера?
есть такой срипт таймера
$(function(){ //----------------------------------------- var myVar; var dt; $.get('timer/datetime.php',function(res){ dt = Date.parse($.trim(res)); setR(); myVar=setInterval(function(){setR()},1000); }); function setR(){ var dateX=dt; var d=new Date(); var diff=dateX-d; unixdiff=Math.round(diff/1000); dayR=Math.floor(unixdiff/86400); hourR=Math.floor((unixdiff-dayR*86400)/3600); minuteR=Math.floor((unixdiff-dayR*86400-hourR*3600)/60); secondR=(unixdiff-dayR*86400-hourR*3600-minuteR*60); update(dayR+" ",hourR+" ",minuteR+" ",secondR+" "); } function update(d,h,m,s){ var dc=[]; var hc=[]; var mc=[]; var sc=[]; dc[0]=d[0];dc[1]=d[1];if(d[1]==" "){dc[1]=d[0];dc[0]=0;} hc[0]=h[0];hc[1]=h[1];if(h[1]==" "){hc[1]=h[0];hc[0]=0;} mc[0]=m[0];mc[1]=m[1];if(m[1]==" "){mc[1]=m[0];mc[0]=0;} sc[0]=s[0];sc[1]=s[1];if(s[1]==" "){sc[1]=s[0];sc[0]=0;} chtime(1,dc[0]); chtime(2,dc[1]); chtime(3,hc[0]); chtime(4,hc[1]); chtime(5,mc[0]); chtime(6,mc[1]); chtime(7,sc[0]); chtime(8,sc[1]); $("#day").text(GetNoun(d,"ДЕНЬ","ДНЯ","ДНЕЙ")); $("#hour").text(GetNoun(h,"ЧАС","ЧАСА","ЧАСОВ")); $("#minute").text(GetNoun(m,"МИНУТА","МИНУТЫ","МИНУТ")); $("#second").text(GetNoun(s,"СЕКУНДА","СЕКУНДЫ","СЕКУНД")); } function GetNoun(number,one,two,five){ number = Math.abs(number); number %= 100; if (number >= 5 && number <= 20) {return five} number %= 10; if(number == 1){return one} if(number >= 2 && number <= 4){return two} return five; } function chtime(p,v){ $("#t"+p).text(v); $("#t2"+p).text(v); $("#t3"+p).text(v); } это его код хтмл <div class="countdown-box"> <div id="countdown"> <div id="timer"> <div id="t1">0</div> <div id="t2">0</div> <div id="t3">0</div> <div id="t4">0</div> <div id="t5">0</div> <div id="t6">0</div> <div id="t7">0</div> <div id="t8">0</div> <div id="day">дней</div> <div id="hour">часов</div> <div id="minute">минут</div> <div id="second">секунд</div> </div> </div> </div> в файле date.ini написана только дата 2013-06-20 вот файл datetime.php <? $fn = 'date.ini'; $need = false; if(file_exists($fn)){ $date = file_get_contents($fn); $datenum = strtotime($date); $need = (!$datenum || (time() > $datenum)); }else{ $need = true; } if($need){ $date = date('Y-m-d',strtotime(date('Y-m-d'))+(3600*24*2)); file_put_contents($fn,$date); } print str_replace('-','/',$date); их на странице у меня 3 штуки, но надо чтобы каждый показывал разное время, например с разницей в 2 часа, кто что посоветует??? |
можно из текущей даты вычитать 2 часа, потом еще два часа. А вообще честно говоря задача не совсем понятна
|
пробовал так в 23 строке, но изменяется значение естественно везде
update(dayR+" ",hourR+2+" ",minuteR+" ",secondR+" "); Ссылка на сайт http://okna023.ru/ |
Создаете класс. Потом создаете 3 экземпляра класса. при инициализации засовывайте туда 3 своих даты. а внутри можно дату можно разбить сплитом. и хранить отдельно часы, минуты, дни... и делать декримент при вызове setInterval
|
так то понятно но КАК это все сделать?
|
вот начал, дальше сами:
<!DOCTYPE html> <html> <head> </head> <body> <script type="text/javascript"> function times(time, _number) { var sp = time.split(':'); return { number: _number, hour: sp[0], min: sp[1], sec: sp[2], start: function() { setInterval(function(ths) { return function() { console.log('номер: ' + ths.number + ' часы: ' + ths.hour + ' минуты: ' + ths.min + ' секунды: ' + ths.sec); ths.sec--; } }(this), 1000); } }; } var t1 = times('12:43:45', 1); var t2 = times('10:43:45', 2); var t3 = times('9:43:45', 3); t1.start(); t2.start(); t3.start(); </script> </body> </html> |
Часовой пояс GMT +3, время: 02:55. |