Передача второй переменной в localStorage - PullRequest
0 голосов
/ 06 февраля 2020

У меня проблемы с передачей второй переменной в LocalStorage.

На первой странице у меня есть 2 деления, после нажатия на каждую из них я хотел бы передать различные переменные:

 $(".questionAnswerItem8447").click(function (val) {
    localStorage.setItem('kasaVisible', val);
 });

$(".questionAnswerItem8448").click(function (va2) {
    localStorage.setItem('autaVisible', va2);
});

Затем, на второй странице, я хотел бы сослаться на эти переменные.

 if (localStorage.getItem('kasaVisible')) {
    kasaNagrody.classList.add('activeContainer');
    autaNagrody.classList.add('noActiveContainer');
     console.log('kasa works');

} else if (localStorage.getItem('autaVisible')) {
    kasaNagrody.classList.add('noActiveContainer');
    autaNagrody.classList.add('activeContainer');
    console.log('auto works');
}

К сожалению, независимо от того, какой раздел я нажимаю на первой странице, вторая всегда отображает сообщение с первой, если

console.log('kasa works');

Как будто он не видел его на все:

 localStorage.setItem('autaVisible', va2);

Почему?

1 Ответ

0 голосов
/ 06 февраля 2020

Вы запускаете код в операторе if else.

Итак, если вы щелкнули первый div в какой-то момент, то вы установили значение для первого div в локальном хранилище. Следовательно, он попадет в оператор if и localStorage.getItem('kasaVisible') будет истинным. Код в блоке if будет выполняться, и ваш код никогда не попадет в блок else if.

Попробуйте вместо этого использовать 2 оператора if:

if (localStorage.getItem('kasaVisible')) {
    kasaNagrody.classList.add('activeContainer');
    autaNagrody.classList.add('noActiveContainer');
     console.log('kasa works');

}
if (localStorage.getItem('autaVisible')) {
    kasaNagrody.classList.add('noActiveContainer');
    autaNagrody.classList.add('activeContainer');
    console.log('auto works');
}

В качестве альтернативы вы можете посмотреть на очистку первое значение с localStorage.removeItem(item), если щелкнул второй div (если это поведение, которое вы хотите).

Примечание: вы можете просмотреть ваш localStorage в chrome инструментах разработчика. Откройте devtools> application> storage> Local Storage

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...