使用jQuery和localStorage,我想跟踪玩家赢得游戏的次数。每次提交表单时,wincount或者丢失计数都会增加一个,取决于谁赢了。计数器工作正常,但由于某种原因,清除计数的功能不起作用。我一直在使用与removeItem()
相同的函数和其他变量,它一直工作正常。
var nicwincount;
var niclosscount;
$('#dostuff').click(function(e) {
e.preventDefault();
if (playerName === 'nic' && tempresult === win) {
nicwincount = JSON.parse(localStorage.getItem (nicwincount));
nicwincount += 1;
localStorage.setItem(nicwincount, JSON.stringify(nicwincount));
console.log(localStorage.getItem(nicwincount));
console.log(nicwincount);
}
else if (playerName === 'nic' && tempresult === loss) {
losscount = JSON.parse(localStorage.getItem(niclosscount));
losscount += 1;
localStorage.setItem (niclosscount, losscount);
console.log(localStorage.getItem(niclosscount));
}
}
我尝试使用.setItem ()
将计数设置为0.我也尝试使用.removeItem
。无法让他们中的任何一个为我工作,也无法找出原因。
$('#clear').click(function(e){
e.preventDefault();
localStorage.setItem('nicwincount', 0);
localStorage.setItem('niclosscount', 0);
}
谢谢!
更新:
此代码使用localStorage
var nicScoreList = JSON.parse(localStorage.getItem('nicscorelist') || '[]');
var niccount = 0;
var nicTotalScore = nicScoreList.reduce(function(total, score) {
if (score === " " || total === " ") {
niccount++;
}
return +total + +score;
});
我从localStorage获得的项目在单独的页面上定义为:
scorelist = JSON.parse(localStorage.getItem(playerName + 'scorelist') || '[]');
scorelist.push(" ");
localStorage.setItem(playerName + 'scorelist', JSON.stringify(scorelist));
$('div.scorecolumn', column).html("Score: <br>" + scorelist.join('<br>'));
我知道我跳过了一堆代码,所以请告诉我这是否有意义。
此代码有效,但原始示例仍未使用nicwincount和niclosscount
答案 0 :(得分:2)
您正在使用变量来存储项目和字符串以清除它们。
Bareword(即变量):
localStorage.setItem(nicwincount, JSON.stringify(nicwincount));
和字符串在这里:
localStorage.setItem('nicwincount', 0);