Показать сообщение отдельно
  #1 (permalink)  
Старый 25.12.2017, 02:05
Новичок на форуме
Отправить личное сообщение для Atlas Посмотреть профиль Найти все сообщения от Atlas
 
Регистрация: 25.12.2017
Сообщений: 4

Не работает setInterval
Здравствуйте. Есть код отсчёта до определённой даты. Время должно быть серверное. Сам код вставляю в одну из новостей на Джумле.

<span id="doc_time"></span>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script language="javascript" type="text/javascript">
<?php date_default_timezone_set("Etc/GMT+12"); ?>
function clock() {
var d = new Date("<?php echo (date("r")); ?>");
var d1 = new Date("<?php echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 2018)); ?>");
n=Math.floor((d1-d)/1000);
sec=n%60; n=Math.floor(n/60); if(sec<10)sec='0'+sec;
min=n%60; n=Math.floor(n/60); if(min<10)min='0'+min;
hour=n%24; n=Math.floor(n/24);
date_time=n+":"+hour+":"+min+":"+sec;
document.getElementById("doc_time").innerHTML = date_time;
};
clock();

$(document).ready(function() {
setInterval(clock, 1000);
});
</script>


Ну и собственно время отображается, но единожды, setInterval почему-то не обновляет... Причём если убрать вызов функции "clock();", то при обновлении поле будет пустое и только через секунду отобразится время.
Я читал что в setInterval функцию нужно указывать без скобок, но со скобками, без скобок, в кавычках - никак не работает.
Надеюсь на вашу помощь.
Ответить с цитированием