всем привет! я в js не силен. подскажите где у меня ошибка. задача следующая нужно выводить 10 штук обратного отсчета и после достижения нуля выводить типа "время вышло!" вроде все работает но после окончания работы счетчика выводится на секунду сообщение а потом опять нули показывает. вот код :
<script type="text/javascript">
function countdown_clock(id, year, month, day, hour, minute, format) {
html_code = '<div id="countdown' + id + '"></div><br>';
//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 + 'секунд';
}
setTimeout('countdown(' + id + ',' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);
}
</script>
</head>
<body>
<?
$min = 55; // увеличиваем на пол-часа каждый последующий
$year = 11; // год в формате 00
$month = 06; // месяц
$day = 21;// день
$time = 22; // час старта первого счетчика
for($id=0;$id<49;){
echo "<script type='text/javascript'>countdown_clock($id, $year, $month, $day, $time, $min, 1)</script>";
$min = $min+30;
$id++;
echo "<script type='text/javascript'> if(Time_Left == 0) elem.innerHTML = 'время вышло!'; clearTimeout(); </script>";
}
?>