Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.06.2011, 22:44
Аспирант
Отправить личное сообщение для dimon76 Посмотреть профиль Найти все сообщения от dimon76
 
Регистрация: 23.06.2011
Сообщений: 63

запуск скрипта по счетчику
всем привет! я в 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>";
  }
	?>
Ответить с цитированием
  #2 (permalink)  
Старый 23.06.2011, 23:47
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

<div id="timer"></div>
<script>
tim= document.getElementById("timer");

function timer(n) {
 if(n<0) {
  tim.innerHTML="";
  alert("БА-БАХ!"); 
  return;
 };
 tim.innerHTML=n; 
 --n;
 setTimeout(function(){timer(n)}, 1000);
};

timer(10);
</script>
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 23.06.2011 в 23:53.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск скрипта через некоторое кол-во времени. qwermjk Общие вопросы Javascript 9 31.03.2013 06:15
Запуск скрипта по завершению загрузки страницы EugenyK Events/DOM/Window 4 27.05.2011 11:08
Повторный запуск скрипта смены изображений miXer Общие вопросы Javascript 3 26.05.2011 00:44
Чем можно организовать запуск скрипта атом. по времени. I5Rek Серверные языки и технологии 2 01.05.2011 23:00
Запуск js-функции на странице из скрипта Bazzilic Серверные языки и технологии 3 20.04.2010 09:53