Как правильно сохранить в LocalStorage?
Есть рандомные счетчики, не получается сделать так, что бы при перезагрузке страницы, рандомящиеся числа попадали в localStorage и сохранялись. Сейчас при перезагрузке они логичным образом пересчитываются. Но как переписать код я не понимаю. Спасибо если кто-то откликнется!
весь этот код работает тут - https://faqqy.github.io/
const date = new Date(),
myDay = date.getDay();
let rand,
clientLocalHour = date.getHours(),
timeFrom = 9,
timeTo = 22;
function workoutsC(min, max) {
rand = Math.floor(Math.random() * (max - min) + min);
return rand;
};
localStorage.setItem('test', workoutsC(1, 9));
function calculatingTime() {
if (clientLocalHour >= timeFrom && clientLocalHour <= timeTo) {
if (myDay === 1 || myDay === 2 || myDay === 3 || myDay === 4 || myDay === 5) {
function workoutsA(min, max) {
rand = Math.floor(Math.random() * (max - min) + min);
return rand;
}
document.getElementById("demo").innerHTML = workoutsA(10, 20);
function workoutsB(min, max) {
rand = Math.floor(Math.random() * (max - min) + min);
return rand;
}
document.getElementById("demo2").innerHTML = workoutsB(5, 10);
} else if (myDay === 0 || myDay === 6) {
if (localStorage.getItem('test') !== null) {
console.log(localStorage);
document.getElementById("demo").innerHTML = localStorage.getItem('test');
}
function workoutsB(min, max) {
rand = Math.floor(Math.random() * (max - min) + min);
return rand;
};
document.getElementById("demo2").innerHTML = workoutsB(1, 2);
}
} else {
document.getElementById("demo").innerHTML = 0;
document.getElementById("demo2").innerHTML = 0;
}
};
calculatingTime();
setInterval(calculatingTime, 2000);
Ответы (1 шт):
Автор решения: Dmitry bob
→ Ссылка
Вроде разобрался, получается нужно было проверить ключ на null и если сейчас storage null, то записать в него значение функции. Всем спасибо за наводки и мысли, если есть советы по коду, буду рад прочитать их.
"use strict"
const date = new Date(),
myDay = date.getDay();
let rand,
clientLocalHour = date.getHours(),
timeFrom = 9,
timeTo = 22,
firstId = document.getElementById('workoutsАorToday'),
secondId = document.getElementById('trialWorkouts');
function workouts(min, max) {
rand = Math.floor(Math.random() * (max - min) + min);
return rand;
}
if ('countWorkdayTrening' || 'countWorkdayTrialTrening' || 'countWeekendTrening' || 'countWeekendTrialTrening') === null) {
localStorage.setItem('countWorkdayTrening', workouts(10, 20));
localStorage.setItem('countWorkdayTrialTrening', workouts(5, 10));
localStorage.setItem('countWeekendTrening', workouts(1, 9));
localStorage.setItem('countWeekendTrialTrening', workouts(1, 3));
}
function recalculationOfData() {
if (clientLocalHour >= timeFrom && clientLocalHour <= timeTo) {
if (myDay === 1 || myDay === 2 || myDay === 3 || myDay === 4 || myDay === 5) {
firstId.innerHTML = localStorage.getItem('countWorkdayTrening');
secondId.innerHTML = localStorage.getItem('countWorkdayTrialTrening');
} else if (myDay === 0 || myDay === 6){
firstId.innerHTML = localStorage.getItem('countWeekendTrening');
secondId.innerHTML = localStorage.getItem('countWeekendTrialTrening');
}
} else {
firstId.innerHTML.innerHTML = 0;
secondId.innerHTML = 0;
}
};
recalculationOfData();