我已经问过这个问题,并得到了一些很好的建议,但我想我只是让自己迷路了。过去两天我一直在做JQuery,所以有点新鲜感。我正在做一个简单的游戏,并希望在页面加载之间计算得分,但无论我做什么似乎都没有工作。完全丧失在localStorage
var score;
var points = parseInt(localStorage.getItem(score),10)||0;
if (score == null || score == "null"){
score = 0;
}else{
score = parseInt(localStorage.getItem(score),10)||0;
}
console.log(score);
//alert(score);
var ans;
var img;
img = document.getElementsByClassName("image")[0].id;
$(".answer").click(function() {
ans = $(this).attr('id');
if (ans === img){
score++;
localStorage.setItem("score", score);
//alert('right answer');
location.reload();
}else{
//alert('wrong answer');
//location.reload();
}
//localStorage.setItem("points", score);
});
再次我已经吃过这方面的一些建议,但我不知道我得到它。任何帮助都会很棒。
*“似乎并不奏效” *什么是预期的结果,什么是你所得到的结果呢?请解释我们如何复制这个问题。虽然*“完全丢失localStorage”*告诉我们你有一个'localStorage'的问题,它并没有告诉我们你的问题到底是什么。 –
不确定这是否是您的问题,但是您在两个不同的范围内声明两次“分数”。除了@RJM注释'var points = parseInt(localStorage.getItem(score),10 ||')之外,还要在'if'语句之上声明一次,然后在'if/else' – RJM
的两个分支中设置它的值。 0);'最后有一个圆括号不应该在那里,'var points = parseInt(localStorage.getItem(score),10)|| 0;' – darham