JavaScript个人“高分”

时间:2015-07-19 20:53:46

标签: javascript arrays database

我不是想让它来保存服务器端或任何东西,而只是一次性保存,所以如果你刷新页面,数据就会消失。我在这里搜索和谷歌,找不到任何与我所说的完全相同的东西,但也许我正在寻找错误的东西。

<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点。

我必须“工作”所以它更新了一个,但当它更新另一个它删除了最后一个,让我很生气。 (我在某些编码中是较新的(尤其是代码的整洁)

2 个答案:

答案 0 :(得分:1)

您可以删除HTML元素并添加一个新元素:

&#13;
&#13;
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;
&#13;
&#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))
}