#javascript #json #variables #refresh
#javascript #json #переменные #обновить
Вопрос:
Итак, у меня есть некоторый код, в котором я хочу сохранить значение определенной переменной после перехода на другую страницу, и когда я возвращаюсь на исходную страницу и нажимаю определенную кнопку, это увеличивает ее значение и сохраняет значение increades. Проблема в том, что код, похоже, работает не так, как предполагалось. Значение переменной по умолчанию равно 0, при нажатии кнопки оно увеличивается на 2 и сохраняется с использованием localstorage, и я отправляюсь на свою другую страницу, а затем, когда я возвращаюсь на исходную страницу и снова нажимаю ту же кнопку, переменная снова равна 2. Почему это? Вот мой код:
$(document).ready(function()
{
var isShoes = false
var isShirt = false
var oneMoreShoe = false
var buttonClicked = 0;
$('#purchaseShoes').on('click', function()
{
buttonClicked =2;
var Shoes = localStorage.setItem('img_shoes', '/static/Images/Sneakers.png')
var clicksCounter = localStorage.setItem('buttonClicked', JSON.stringify(buttonClicked))
var retainClicksCount = localStorage.getItem('buttonClicked')
var actualClickCount = JSON.parse(retainClicksCount)
isShoes = localStorage.setItem('isShoes', true)
alert(retainClicksCount)
if(retainClicksCount>= 4){
oneMoreShoe = localStorage.setItem('oneMoreShoe', true)
}
})
})
Ответ №1:
$(document).ready(function()
{
var isShoes = false
var isShirt = false
var oneMoreShoe = false
var buttonClicked = 0;
if (localStorage.getItem('buttonClicked')) // check if button click exists in storage and assign it to your variable
{
buttonClicked = localStorage.getItem('buttonClicked');
}
$('#purchaseShoes').on('click', function()
{
buttonClicked =2;
var Shoes = localStorage.setItem('img_shoes', '/static/Images/Sneakers.png')
var clicksCounter = localStorage.setItem('buttonClicked', JSON.stringify(buttonClicked))
var retainClicksCount = localStorage.getItem('buttonClicked')
var actualClickCount = JSON.parse(retainClicksCount)
isShoes = localStorage.setItem('isShoes', true)
alert(retainClicksCount)
if(retainClicksCount>= 4){
oneMoreShoe = localStorage.setItem('oneMoreShoe', true)
}
})
})
Каждый раз, когда вы обновляете свою страницу, ваша переменная buttonClicked становится = 0. Вам нужно проверить, существует ли локальная переменная, если это так, вы получаете значение для переменной вашего скрипта из localstorage, а затем добавляете 2 и работаете с ним.