// Функция для сохранения времени входа
function saveStartTime() {
const startTime = new Date().getTime();
localStorage.setItem('timerStartTime', startTime);
return startTime;
}
// Функция для получения времени входа (или создания нового)
function getStartTime() {
const storedTime = localStorage.getItem('timerStartTime');
const currentTime = new Date().getTime();
// Если время не сохранено или прошло больше 24 часов - создаем новую точку отсчета
if (!storedTime || (currentTime - parseInt(storedTime)) >= 86400000) {
return saveStartTime();
}
return parseInt(storedTime);
}
// Функция обновления таймера
function updateTimer() {
const startTime = getStartTime();
const currentTime = new Date().getTime();
const elapsed = currentTime - startTime;
const remaining = Math.max(86400000 - elapsed, 0);
// Расчет часов, минут, секунд
const hours = Math.floor(remaining / 3600000);
const minutes = Math.floor((remaining % 3600000) / 60000);
const seconds = Math.floor((remaining % 60000) / 1000);
// Форматирование времени
const formattedTime =
String(hours).padStart(2, '0') + ':' +
String(minutes).padStart(2, '0') + ':' +
String(seconds).padStart(2, '0');
// Обновление элемента с id="24h-timer" (можете изменить на нужный вам ID)
const timerElement = document.getElementById('24h-timer');
if (timerElement) {
timerElement.textContent = formattedTime;
}
// Остановка таймера по истечении времени
if (remaining <= 0) {
clearInterval(timerInterval);
if (timerElement) {
timerElement.textContent = "00:00:00";
}
}
}
// Запуск таймера
const timerInterval = setInterval(updateTimer, 1000);
updateTimer(); // Вызываем сразу для первоначального отображения