我不是想让它来保存服务器端或任何东西,而只是一次性保存,所以如果你刷新页面,数据就会消失。我在这里搜索和谷歌,找不到任何与我所说的完全相同的东西,但也许我正在寻找错误的东西。
<div id="hs">
<center>Past 10 scores.</center>
<p> 1. <span id="t1">N/A</span></p>
<p> 2. <span id="t2">N/A</span></p>
<p> 3. <span id="t3">N/A</span></p>
<p> 4. <span id="t4">N/A</span></p>
<p> 5. <span id="t5">N/A</span></p>
<p> 6. <span id="t6">N/A</span></p>
<p> 7. <span id="t7">N/A</span></p>
<p> 8. <span id="t8">N/A</span></p>
<p> 9. <span id="t9">N/A</span></p>
<p> 10. <span id="t10">N/A</span></p>
</div>
试图让它变成10,9,8,7,6,5,4,3,2,1,然后把它推下来并保持最新的#1,所以1变为2,2变成3等等。
我一直在尝试很多东西,没有任何工作(甚至不能100%确定js是否可以按我的意愿去做,所以这就是我来到这里的原因。这是一种速度/反应类型的游戏。如果它更容易,我想的可能只是过了5点。
我必须“工作”所以它更新了一个,但当它更新另一个它删除了最后一个,让我很生气。 (我在某些编码中是较新的(尤其是代码的整洁)
答案 0 :(得分:1)
您可以删除HTML元素并添加一个新元素:
function addHighScore(score) {
var list = document.getElementById("hs").getElementsByTagName("OL")[0];
var items = list.getElementsByTagName("LI");
list.removeChild(items[items.length - 1]);
var newItem = document.createElement("LI");
newItem.innerHTML = score;
list.insertBefore(newItem, items[0]);
}
addHighScore(200);
&#13;
DIV {width: 320px;}
H1 {text-align: center;}
&#13;
<div id="hs">
<h1>Past 10 scores.</h1>
<ol>
<li>100</li>
<li>90</li>
<li>80</li>
<li>70</li>
<li>60</li>
<li>50</li>
<li>40</li>
<li>30</li>
<li>20</li>
<li>10</li>
</ol>
</div>
&#13;
答案 1 :(得分:0)
看起来我应该介绍你的新朋友sessionStorage
sessionStorage
就像localStorage
一样,但只要浏览器处于打开状态,它就会保留信息。
保存到sessionStorage
非常简单:
sessionStorage.setItem("key", "value")
然后,检索数据
sessionStorage.getItem("key") // --> "value"
所以,一个高分的例子:
function save(score) {
// get the scores
var scores = JSON.parse(sessionStorage.getItem("scores")) || []
// add the scores to the list
scores.push(score)
// sort the scores into the new list
scores = scores.sort().reverse()
// Save inside sessionStorage
sessionStorage.setItem("scores", JSON.stringify(scores))
}