我想在游戏中添加高分。现在我有这个:
var score = 0;
得分变量有效,但每当我得到点数总共60分时,它表示使用console.log(highscore)
检查时得分仍为零。
我有这个来存储高分:
localStorage.bestscore = score;
var bestscore = localStorage.bestscore
并检索保存的数据
<script>
document.getElementById("bestscore").innerHTML = localStorage.getItem('best');
</script>
<h1>Your Score is <span id="bestscore">0</span></h1>
但有些不对劲!请帮助:)!
答案 0 :(得分:2)
要在localStorage中存储内容,您必须使用&#39; setItem&#39;
localStorage.setItem('bestscore', score)
然后要检索它,请使用
localStorage.getItem('bestscore')
有关功能的更多信息:
https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem
答案 1 :(得分:1)
localStorage
有两种方法getItem
和setItem
。
这是一个例子:
localStorage.setItem('bestScore', score);
var bestScore = localStorage.getItem('bestScore');
答案 2 :(得分:1)
以下将高分记录设置为localStorage,然后当得分时,将从本地存储获得高分,如果新分数高于现有高分,则将使用新值覆盖高分。希望这可以帮助。请注意,这只是代码的一部分 - 需要放入一个在得分时调用的函数。
var score=0;
localStorage.setItem("high_Score",score);
var highScore = localStorage.getItem("high_Score");
if(score > highScore){localStorage.setItem("high_Score",score)};
然后显示它:
var highScore = localStorage.getItem("high_Score");
document.getElementById("bestscore").innerHTML=highScore;
答案 3 :(得分:1)
我刚创建此文件以显示它 - 按预期工作。我将控制台设置为显示本地/会话存储,以便我可以看到数字何时被修改并且按预期工作,。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<body onload="set_score()">
<p>The highest Score so far is: <span id="bestscore"></span></p>
<input type="text" id="score" value="" >
<button type = "button" onclick="score()">score</button>
<script>
function set_score()
{
var score=0;
localStorage.setItem("high_Score",score);
document.getElementById("bestscore").innerHTML=score;
}
function score(){
var score=parseInt(document.getElementById("score").value);
var highScore = localStorage.getItem("high_Score");
if(score > highScore){localStorage.setItem("high_Score",score)};
var new_highScore = localStorage.getItem("high_Score");
document.getElementById("bestscore").innerHTML=new_highScore;
}
</script>
</body>
</head>
</html>
将其复制到notepadd ++文档中,将其另存为html并在浏览器中运行。希望它有助于Gav
答案 4 :(得分:0)
这里是函数:在页面上加载 - 调用set_score()来初始化值,然后在数字输入到输入字段(id为&#34;得分&#34;) - 调用得分()它应该工作。
function set_score(){
var score=0;
localStorage.setItem("high_Score",score);
document.getElementById("bestscore").innerHTML=score;
}
function score(){
var score=parseInt(document.getElementById("score").value);
var highScore = localStorage.getItem("high_Score");
if(score > highScore){localStorage.setItem("high_Score",score)};
var new_highScore = localStorage.getItem("high_Score");
document.getElementById("bestscore").innerHTML=new_highScore;
}
在我的傻瓜身上按预期工作
答案 5 :(得分:0)
尝试使用window.localStorage
:
var score = 0;
window.localStorage.setItem('bestScore', score);
var bestScore = window.localStorage.getItem('bestScore');
我希望有所帮助!