как обнулять таймер
всем привет! подскажите такую вещь - есть несколько обратных таймеров как кнопкой сбросить на начальное значение тот таймер который нужно. (делаю аукцион в php разбираюсь а в js полный ноль).
вот скрипт счетчика: function countdown_clock(id, year, month, day, hour, minute, format) { html_code = '<span id="countdown' + id + '"></span>'; //html_code += '<div id="countdown' + id + '"></div>'; document.write(html_code); countdown(id, year, month, day, hour, minute, format); } function countdown(id, year, month, day, hour, minute, format) { Today = new Date(); Todays_Year = Today.getFullYear() - 2000; Todays_Month = Today.getMonth(); Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(), Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime(); Target_Date = (new Date(year, month - 1, day, hour, minute, 00)).getTime(); Time_Left = Math.round((Target_Date - Todays_Date) / 1000); if(Time_Left < 0) Time_Left = 0; switch(format) { case 0: document.all.countdown.innerHTML = Time_Left + ' секунд'; break; case 1: days = Math.floor(Time_Left / (60 * 60 * 24)); Time_Left %= (60 * 60 * 24); hours = Math.floor(Time_Left / (60 * 60)); Time_Left %= (60 * 60); minutes = Math.floor(Time_Left / 60); Time_Left %= 60; seconds = Time_Left; dps = ' '; hps = ' '; mps = ' '; sps = ' '; if(days == 1) dps =''; if(hours == 1) hps =''; if(minutes == 1) mps =''; if(seconds == 1) sps =''; elem = document.getElementById("countdown" + id); if(days == 0) elem.innerHTML = ''; if(days > 0) {elem.innerHTML = days + ' день ' + dps + ' ';} elem.innerHTML += hours + ':' + hps + ''; elem.innerHTML += minutes + ':' + mps ; elem.innerHTML += seconds + '' + sps; break; default: elem.innerHTML = Time_Left + 'секунд'; } $t = setTimeout('countdown(' + id + ',' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000); if(seconds == 0) { elem = document.getElementById("countdown" + id); [CODE]вот этот счетчик нужно обновлять[/CODE] function timer(n) { if(n<0) { elem.innerHTML="типа ПРОДАНО (или нет)"; return; } elem.innerHTML=n; --n; setTimeout(function(){timer(n)}, 1000); } timer(15); } } а вот php код остального $query = mysql_query("SELECT * FROM tovar",$db); while($row = mysql_fetch_assoc($query)){ $id = $row['id']; $min = 55; // увеличиваем на пол-часа каждый последующий лот $year = 11; // год в формате 00 $month = 07; // месяц $day = 5;// день $time = 17; // час старта первого лота (потом нужно сделать 12 часов дня по киеву) echo "<form ><div id='product_time'>".$row['name']." <script type='text/javascript'>countdown_clock($id, $year, $month, $day, $time, $min, 1)</script><input type='submit' value='ставка'></div><br>"; $min = $min+30; } |
из строки пыхи вашего кода видно, что вызывается таймер через пхп (бред... ну,вы поняли, через echoвыводится тэг скрипт, в котором вызывается ф-я...)
так что надо копать вот эту строчку echo "<form ><div id='product_time'>".$row['name']." <script type='text/javascript'>countdown_clock($id, $year, $month, $day, $time, $min, 1)</script><input type='submit' value='ставка'></div><br>"; передавайте аргументы не напрямую..или сохраняйте их.. короче, можно сделать так. вместо той строки на пхп : # я разделил на 3 части ,чтобы было виднее echo "<form ><div id='product_time'>".$row['name']." "; echo "<script type='text/javascript'>var args=[".$id.", ".$year.", ".$month.", ".$day.", ".$time.", ".$min.", 1];countdown_clock.apply(window, args);</script>"; echo "<input type='submit' value='ставка'></div><br>"; поясняю : пхп выведет это // например.. сам всё повставлял // это аргументы, с которыми запускается таймер var args=[978, 2011, 07, 06, 17, 39, 1]; // это запустит таймер с аргументами. countdown_clock.apply(window, args); если надо перезапустить таймер, пишите еще раз countdown_clock.apply(window, args); вроде должен перезпуститься |
Часовой пояс GMT +3, время: 05:59. |