Рейтинг:
2
Member 13257242
Куда бы я это положил? внутри или снаружи оператора if?
Thomas Daniels
Этот код (т. е. getItem) должен запускаться при загрузке вашей страницы, чтобы восстановить выбранных покемонов.
А для setItem вы должны запускать его каждый раз, когда "pokemonchosen" обновляется.
Member 13257242
Кроме того, pokemonchosen начинается с undefined, поэтому, когда они покупают покемона, все в операторе if должно быть выполнено правильно?
Member 13257242
Это дает мне ошибку:
Uncaught ReferenceError: JSONReadyUsers не определен
в buymagikarp (script.js:35)
в HTMLInputElement.onclick (battle.html:131)
Я уверен, что это означает, что Jquery не работает. Вот бирки, которые я положил внутрь battle.html :
&ЛТ;скрипт СРЦ="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"&ГТ;&ЛТ;/скрипт>&амп;скрипт тип="текст/JavaScript"&ГТ;функция getName2 {
ВАР JSONReadyUsers = формат JSON.преобразовать в строки(pokemonchosen);
localStorage.setItem('pokemonchosen', JSONReadyUsers)
}</script>
Thomas Daniels
Ну, если вы используете JSONReadyUsers вне getName2, это не будет работать, потому что область действия JSONReadyUsers-это только getName2.
Member 13257242
Даже после определения JSONReadyUsers вне getName2 как в теге скрипта, так и в теге script.js-это все равно не сработает.
Thomas Daniels
Ну, вам не нужно определять это дважды... И что значит "не сработает"?
Member 13257242
"не будет работать" означает, что я все еще получаю ту же ошибку: вот мой сайт, если вы хотите проверить его и увидеть ошибку pokemonupgrade.000webhostapp.com
Thomas Daniels
Я не собираюсь отлаживать ваш сайт, извините.
Ошибка говорит то, что она говорит: "JSONReadyUsers" не определен. Посмотрите, где вы его определяете, где вы его используете и где происходит ошибка, а затем подумайте о том, почему он не будет определен там, где происходит ошибка.
Member 13257242
Это все еще не работает. Я немного исправил код и добавил его в каждую из функций покупки:
функция buymagikarp() {
если(монеты >= 100 ) {
swal("успех", "вы купили 1 magikarp!", "успех");
монеты -= 100;
document.getElementById("p1").innerHTML = "Coins:" + coins;
localStorage.setItem('монеты', монеты);
} еще {
swal("ошибка", "недостаточно баланса", "ошибка");
}
если(pokemon1 == "") {
pokemon1 += "Magikarp";
localStorage.setItem('Magikarp', pokemon1);
}
if (localStorage.getItem("pokemon1") === null) {
хранилище localStorage.метод getitem('pokemon1');
}
}
Я действительно не понимаю, почему это не работает. Вы, вероятно, уже понимаете мой уровень мастерства в этом типе кода, но я не могу объяснить, почему мой код не работает. Пожалуйста, помогите!
Thomas Daniels
Я понятия не имею, что вы пытаетесь сделать (и "не работает" вообще не дает никакой информации), но какой смысл вызывать getItem('pokemon1') в операторе if, если getItem("pokemon1") равен null? Он ничего не делает.