Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обратный отсчет. (https://javascript.ru/forum/misc/79765-obratnyjj-otschet.html)

exstyle 21.03.2020 10:41

Обратный отсчет.
 
Здравствуйте. Есть код
function ShowTime(fname,lefttime,type)
{
  lefttime--;
  if (lefttime<=0) { document.all(''+fname).innerText=''; window.location.reload(); }
  sec=lefttime%60;

  min=Math.floor(lefttime/60);
  day=Math.floor(lefttime/86400);

  hour=Math.floor((lefttime/3600)-(day*86400/3600));

  if (sec<10) sec="0"+sec;
  if (min>60) min-=(Math.floor(min/60)*60);
  if (min==60) min=0;

  if (type!=1) { if (min<10) min="0"+min; }

  if (type==1) { document.all(''+fname).innerText=min+" мин. "+sec+" сек."; }
  else {
  if (day>0) document.all(''+fname).innerText=day+" д. "+hour+" ч. "+min+" мин.";
  else document.all(''+fname).innerText=hour+" ч. "+min+" мин.";
  }

  setTimeout("ShowTime('"+fname+"',"+lefttime+","+type+")",1000);

}


<?php echo"<script language='JavaScript'>ShowTime('index',".$v_time-$now.",1);</script> ?>


переменная $v_time берется из бд. на php 5.x все работало прекрасно, а на 7.х пишет ошибку:
Warning: A non-numeric value encountered in index.php on line 62 -1584775339',1);

может кто альтернативное что-то подскажет? Суть в том, что при нажатии кнопки она пропадает, таймер отсчитывает 5 часов и кнопка появляется. Помогите пожалуйста.

Белый шум 21.03.2020 14:01

Вычисления в конкатенации нужно брать в скобки:
<?php echo"<script language='JavaScript'>ShowTime('index',".($v_time-$now).",1)></script>"; ?>

И в конце у вас чехарда: тег <script> не закрыт, кавычка не закрыта, точка-с-запятой не там.


Часовой пояс GMT +3, время: 13:51.