Следующий сценарий подсчитывается, но он не прекращает отсчет, когда он достигает конечного времени. Когда он достигнет нуля, он начнется снова с 60:00 до 0 (еще один час). Когда я пропустить частьТаймер Javascript не останавливается
$time = str_replace(' ', 'T', $db[time]);
и сделать это так:
var end = new Date('<?=$db[time]?>');
Счетчик правильно остановить, но тогда работа счетчик обыкновение в IE или Firefox только в Chrome.
Кто-нибудь знает, как остановить этот счетчик: S Thanx!
$db[time] = Timestamp field in the database (2013-10-03 11:32:39)
Сценарий:
$time = str_replace(' ', 'T', $db[time]);
Java скрипт
<script>
var end = new Date('<?=$time?>');
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById('countdown').innerHTML = 'ITS NOW TIME!</font><BR><BR>';
return;
}
var days = Math.floor(distance/_day);
var hours = Math.floor((distance % _day)/_hour);
var minutes = Math.floor((distance % _hour)/_minute);
var seconds = Math.floor((distance % _minute)/_second);
document.getElementById('countdown').innerHTML = '<font color="orange">' + minutes + ':';
document.getElementById('countdown').innerHTML += '<font color="orange">' + seconds + ' minutes</font>';
}
timer = setInterval(showRemaining, 1000);
</script>
Проверить это на jsbin: http://jsbin.com/agAvEbU/1/edit Этот код работает нормально. Проблема должна быть где-то еще – devnull69
См. Комментарий Katana314 о том, что вы используете 'innerHTML' с искаженным HTML. Каждое отдельное присваивание innerHTML должно содержать приветственный HTML, иначе браузер изменит ваш HTML так, что он будет «приветствован» (или искажен в отношении ваших намерений) после этого – devnull69