@kostarus61

Функция таймера на JS?

Добрый вечер уважаемые!

Не работает пользовательская функция на JS
Сама функция:
function timer_tp(c,DivId,id){
			var timerdiv = document.getElementById(DivId);
			if (timerdiv == null) {
				clearTimeout(this); return;
			}
			if(c<0) c=0;
			Seconds = c;
			Hours = Math.floor(Seconds / 3600);
			Seconds -= Hours * (3600);
			if(Hours < 10) {Hours = "0" + Hours}
			
			Minutes = Math.floor(Seconds / 60);
			Seconds -= Minutes * (60);
			if(Minutes < 10) {Minutes = "0" + Minutes}
			
			Seconds = Math.floor (Seconds);
			if(Seconds < 10) {Seconds = "0" + Seconds}

			timerdiv.innerHTML = Hours + ":" + Minutes + ":" + Seconds;
					
			if(c<=0) {
				clearTimeout(this);		  
			}else{		
				c-=1;
				setTimeout(function(){timer_tp(c,DivId,id)},1000);
			}
		}


Так вызываю функцию:
<span class='text_gr' id='".$post['id']."'>".timer_tp($time_ot,$post,$id)."</span>


Денвер выдает ошибку что функция не объявлена: Fatal error: Call to undefined function timer_tp() in Z:\home\test6.ru\www\inc\form.php on line 99

Пробовал ставить функцию между head, до и после вызова функции, ничего не помогает. Я в JS новичок, помогите пожалуйста разобраться в чем может быть проблема.
  • Вопрос задан
  • 2224 просмотра
Решения вопроса 1
antipetya
@antipetya
интересующийся
А! Я понял! Извините за прошлый ответ. Был невнимателен.

видимо вы здесь привели строку не полностью и у вас она выглядит так:

<?
print "<span class='text_gr' id='".$post['id']."'>".timer_tp($time_ot,$post,$id)."</span>";
?>


получается новая будет выглядеть так:

<?
print "<span class='text_gr' id='".$post['id']."'><script>timer_tp($time_ot,$post,$id)</script></span>";
?>


функции JavaScript нужно вызывать не в самом HTML а между тегами

И еще - почему у вас функция timer_tp(c,DivId,id) требует 3 параметра, а в подаёте ей только два?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Я правильно понимаю что вы пытаетесь из PHP кода который выпоняется на сервере вызвать JS функцию которая должна отрабатывать на клиенте? Мде.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы