Javascript 使用本地存储和it制作排行榜';这不是储蓄
我正在开发一个记忆游戏web应用程序,我正在尝试使用表格创建排行榜,下面是代码的样子:Javascript 使用本地存储和it制作排行榜';这不是储蓄,javascript,timer,local-storage,Javascript,Timer,Local Storage,我正在开发一个记忆游戏web应用程序,我正在尝试使用表格创建排行榜,下面是代码的样子: function scoreLeaderboard() { let name = prompt('What is your name?'); localStorage.setItem('name', name) localStorage.setItem('score', cardsWon.length); addToLeaderboard(); } function addToLeaderb
function scoreLeaderboard() {
let name = prompt('What is your name?');
localStorage.setItem('name', name)
localStorage.setItem('score', cardsWon.length);
addToLeaderboard();
}
function addToLeaderboard() {
leaderboard.innerHTML = `<li>${localStorage.getItem('name')} - ${localStorage.getItem('score')}`
console.log(localStorage);
}
功能评分排行榜(){
让name=prompt('你叫什么名字?');
localStorage.setItem('name',name)
localStorage.setItem('score',cardsWon.length);
addtoleadboard();
}
函数addToLeadboard(){
leadboard.innerHTML=`${localStorage.getItem('name')}-${localStorage.getItem('score')}`
log(本地存储);
}
现在的问题是,当我重新加载页面时,分数消失,本地存储被擦除,我该如何修复?另外,我想让它按顺序显示结果(从最多的点到最少的点),我也有兴趣这样做,这样你就可以更快地完成它获得额外的点,但我真的不知道如何做到这一点。这可以通过
window.localStorage
或window.sessionStorage
实现。不同之处在于,sessionStorage
只要浏览器保持打开状态,就会持续使用,localStorage
在浏览器重新启动后仍然有效。持久性应用于整个网站,而不仅仅是其中的一个页面
浏览一下这些链接:(如果这段代码有问题,你会在这些链接中找到答案,但可能是另一部分影响了这个问题。)
浏览器存储-
localStorage-关于信息的持久性。。。
在scoreLeadboard
功能中,您正在覆盖以前注册的任何信息,因为正在设置键“name”和“score”,因此您可以尝试一些动态键命名,如'name'+index
,其中index
是在新游戏完成时动态更改的任何值
关于结果的顺序。。。
在显示信息之前,您可以将localStorage API检索到的所有键放入数组中,按照您喜欢的方式进行排序,或者手动循环,或者使用loop()
like方法,然后将分数与名称关联起来
关于快速完成奖金。。。
你可以得到一个变量,它随玩家开始玩游戏的时间而变化
let startTime = Date.now();
然后,当玩家完成游戏时,再做同样的动作
let startTime = Date.now();
然后你可以减去它并检查它是否在你想要的规则之内,比如如果它在30秒内完成,就奖励玩家X分
if((startTime-finishTime) < 30000){
//Gives him X points
}
if((开始时间完成时间)<30000){
//给他X分
}
你能提供一个更完整的例子来说明这个问题吗?当前,加载页面时,此代码不执行任何操作。你完全有可能有其他代码正在删除或覆盖你的值。我使用名称提示来询问名称,这不起作用吗?我想这不是问题本身。但请记住,当您执行localStorage.setItem('name',name)时,您将信息放入名为“name”的“变量”中,因此每次调用此行时,您都会覆盖localStorage上相同空间中的值