Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.07.2019, 11:11
Новичок на форуме
Отправить личное сообщение для neowaring Посмотреть профиль Найти все сообщения от neowaring
 
Регистрация: 25.07.2019
Сообщений: 7

При обновлении что бы не обнулялся таймер
Как сделать что бы при обновлении страницы, таймер не обнулялся а продолжал считать от значения которое насчитал на предыдущей странице ?
<script>
	const isLapsed1 = "isLapsed1" in localStorage;
	const minutesLabel = document.getElementById("minutes");
	const secondsLabel = document.getElementById("seconds");
	const infoElement  = document.getElementById("info");
	const info1Element  = document.getElementById("pervii16");

	if(isLapsed1) {
		infoElement.hidden = false;
	} else {
		const startTime = Date.now();
		
		(function loop() {

			const passedSeconds = 0.001 * (Date.now() - startTime);
			secondsLabel.innerHTML = parseInt(passedSeconds % 100).toString().padStart(1, "0");
			minutesLabel.innerHTML = parseInt(passedSeconds / 100).toString().padStart(1, "0");
			
			if(passedSeconds >= 2000) {
				infoElement.hidden = false;
				info1Element.hidden = true;
				localStorage.isLapsed1 = true;
			} else {
				infoElement.hidden = true;
				info1Element.hidden = false;
				setTimeout(loop, 500);
			}
		})();
	}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2019, 18:46
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,709

Вам нужно запомнить время начала! Поменял 11 и 12 строчки!

<script>
	const isLapsed1 = "isLapsed1" in localStorage;
	const minutesLabel = document.getElementById("minutes");
	const secondsLabel = document.getElementById("seconds");
	const infoElement  = document.getElementById("info");
	const info1Element  = document.getElementById("pervii16");

	if(isLapsed1) {
		infoElement.hidden = false;
	} else {
		const startTime = "startTime" in localStorage ? Number(localStorage.startTime) : Date.now();
		localStorage.startTime = startTime;
		
		(function loop() {
			const passedSeconds = 0.001 * (Date.now() - startTime);
			secondsLabel.innerHTML = parseInt(passedSeconds % 100).toString().padStart(1, "0");
			minutesLabel.innerHTML = parseInt(passedSeconds / 100).toString().padStart(1, "0");
			
			if(passedSeconds >= 2000) {
				infoElement.hidden = false;
				info1Element.hidden = true;
				localStorage.isLapsed1 = true;
			} else {
				infoElement.hidden = true;
				info1Element.hidden = false;
				setTimeout(loop, 500);
			}
		})();
	}
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мой собственный башорг в скайпе))) devote Оффтопик 81 03.10.2012 00:56
Психологическая деформация программистов DreamTheater Оффтопик 59 24.03.2012 04:03
фрактальный сыр x-yuri Оффтопик 76 23.11.2011 20:59
Свойство opener обнуляется при обновлении страницы LesPaulFAP Events/DOM/Window 0 12.10.2009 13:09
Изменение шапки при обновлении страницы nasty blood (X)HTML/CSS 0 07.04.2008 13:13