#javascript #countdown
#javascript #обратный отсчет
Вопрос:
У меня есть будущая дата из поля datetime в базе данных mysql, она всегда будет опережать текущее время не более чем на час или два.
Что мне нужно, так это отображать обратный отсчет в режиме реального времени на странице, например, «2 минуты 5 секунд», чтобы obv отсчитывал каждую секунду.
Понадобится ли мне для этого javascript? Или jquery и т.д. — это что-то новое? Я тоже не знаю, только немного php.
Ответ №1:
До тех пор, пока это происходит в реальном времени. Вам нужен javascript
Ваш серверный PHP должен запрашивать базу данных и вставлять будущее время в JS.
Пример обратного отсчета JS: обратный отсчет GTA V здесь http://www.gtaforums.com/index.php?showforum=239
Комментарии:
1. lol спасибо, мне было интересно, когда был выпущен трейлер gta: P
2. @user1022585 Надеюсь, это поможет. PS Я намеренно поместил туда ссылку, я в восторге.
Ответ №2:
Я думаю, вы уже нашли решение. Но если кто-то все еще ищет это решение, то этот код может помочь.
Reverse timer from javascript:
var target_date = new Date('Aug 01 2014 20:47:00').getTime();
var days, hours, minutes, seconds;
var countdown = document.getElementById('timeremaining');
var countdownTimer = setInterval(function () {
var current_date = new Date().getTime();
var seconds_left = (target_date - current_date) / 1000;
days = parseInt(seconds_left / 86400);
seconds_left = seconds_left % 86400;
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;
minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);
if(days <= 0 amp;amp; hours <= 0 amp;amp; minutes <= 0 amp;amp; seconds <= 0 )
{
document.getElementById('timeremaining').innerHTML = '';
clearInterval(countdownTimer);
}
else
{
if(days>0)
{
days= days 'd,';
}
else
{
days='';
}
countdown.innerHTML ='( ' days checkTime(hours) ':' checkTime(minutes) ':' checkTime(seconds) ' remaining)';
}
}, 1000);
function checkTime(i) {
if (i < 10) {i = '0' i};
return i;
}