Как правильно внести изменения в таймер?

Здравствуйте! Есть таймер, который просто делает отсчет 24 часа. Обновляешь страницу - все начинается заново. Как сделать, чтобы он считал остаток времени, до назначенной мной даты? И как добавить в него отсчет кол-ва дней?
https://jsfiddle.net/yL4zwdum/
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
v3shin
@v3shin
Веб-шаман
Общий принцип примерно такой:
<div id="timer"></div>

<script>
var endDate = new Date(2016, 11, 23, 0, 0, 0); // 23 декабря 2016
function addZeros(x,n){x=x+'';while(x.length<n)x='0'+x;return x;}
function tick(){
	var diff = Math.floor((endDate.getTime() - (new Date()).getTime()) / 1000); // секунд до даты
	if(diff < 0) diff = 0; // отсчет окончен
	var dayDiff = Math.floor(diff / 86400);diff -= 86400 * dayDiff; // разница дней
	var hoursDiff = Math.floor(diff / 3600);diff -= 3600 * hoursDiff; // разница часов
	var minutesDiff = Math.floor(diff / 60);diff -= 60 * minutesDiff; // разница минут
	var secondsDiff = diff; // разница секунд
	var html = '';
	html += Math.floor(diff/86400);
	document.getElementById('timer').innerHTML = dayDiff+':'+addZeros(hoursDiff, 2)+':'+addZeros(minutesDiff, 2)+':'+addZeros(secondsDiff, 2);
	setTimeout(tick, 1000);
}
tick();
</script>

Все красивости - на ваш вкус.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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