Установка переменной в локальном хранилище

В настоящее время разрабатывается игра, и идея заключается в высоком баллах, так что, когда текущий счет больше, чем местная память, он заменяется:

localStorage.setItem('highScore', highScore);
var HighScore = localStorage.getItem('highScore');
if (HighScore == null || HighScore == "null") {
  HighScore = 0;
}

if (user.points > HighScore) {
  highScore = parseInt(HighScore);
}
return highScore 

Спасибо, ребята,

5
задан Lewis Waldron 27 апр. '13 в 0:31
источник поделиться

2 ответов

Это должно указывать на правильное направление.

// Get Item from LocalStorage or highScore === 0
var highScore = localStorage.getItem('highScore') || 0;

// If the user has more points than the currently stored high score then
if (user.points > highScore) {
  // Set the high score to the users' current points
  highScore = parseInt(user.points);
  // Store the high score
  localStorage.setItem('highScore', highScore);
}

// Return the high score
return highScore;
10
ответ дан Anthony Ledesma 27 апр. '13 в 0:46
источник поделиться

Вот пример того, что, как я думаю, вы пытаетесь достичь. Конечно, это всего лишь пример, а не код, написанный для вас.

<button id="save10">Save 10</button>
<button id="save12">Save 12</button>

var highscore = 11,
    button10 = document.getElementById("save10"),
    button12 = document.getElementById("save12"),
    savedHighscore;

function saveData(x) {
    localStorage.setItem('highscore', x);
}

button10.addEventListener("click", function () {
    saveData(10);
}, false);

button12.addEventListener("click", function () {
    saveData(12);
}, false);

savedHighscore = parseInt(localStorage.getItem('highscore'), 10);
if (typeof savedHighscore === "number" && highscore <  savedHighscore) {
    highscore = savedHighscore;
}

alert("Highscore: " + highscore);

Вкл jsfiddle

Используйте кнопки, чтобы установить рекордер, либо 10, либо 12. Обновить страницу, либо выполнить прогон (только имитирует обновление). Пользователь всегда оценивает 11, и он будет предупреждать об 11 или 12 в зависимости от сохраненного рекорда.

1
ответ дан Xotic750 27 апр. '13 в 1:01
источник поделиться

Другие вопросы по меткам