Почему моя функция Resetchallenge () не полностью сбросит прогресс и значки в моем веб -приложении JS?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему моя функция Resetchallenge () не полностью сбросит прогресс и значки в моем веб -приложении JS?

Сообщение Anonymous »

Я строю небольшой веб-трекер вызовов с помощью JavaScript и LocalStorage. Все работает нормально, за исключением функциональности Resetchallenge (). Однако в то время как строка прогресса и информация о вызове сбросится визуально, значки из предыдущей задачи все еще появляются на обновлении или после сброса.

Код: Выделить всё

function resetChallenge() {
challengeTitle.textContent = "Challenge not set";
challengeDescription.textContent = "Set your challenge above";
progressFill.style.width = '0%';
progressText.textContent = '0%';
badgeContainer.innerHTML = '';
challengeCompleted = false;
updateProgress(0);
localStorage.removeItem('spendSmartState');
}
< /code>
Проблема в том, что когда я обновляю страницу, значки возвращаются. Кажется, что их перезагружают из LocalStorage внутри моей функции LoadBadges (). Я подозреваю, что это потому, что я не сбросил Badgesarned, которая является глобальной переменной, используемой для отслеживания того, сколько значков пользователь разблокировал.function init() {
const savedState = JSON.parse(localStorage.getItem('spendSmartState'));
if (savedState) {
challengeCompleted = savedState.challengeCompleted;
updateProgress(savedState.progress || 0);
loadBadges(savedState.badgesEarned || 0);
}
}
< /code>
 Я хочу: < /strong> < /p>

 Убедитесь, что Resetchallenge () правильно очищает все, чтобы пользователь начинал свежо. < /li>
 Необязательно, обеспечить «жесткое сброс» на обновлении, если необходимо, без переключения старого штата из локального старого. Сброс Badgesearned = 0 
Inside resetchallenge () Правильный подход? Должен ли я очистить LocalStorage по -разному, чтобы избежать перезагрузки устаревших данных значков?>

Подробнее здесь: https://stackoverflow.com/questions/795 ... s-and-badg
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»