在html运行的 JS 将function handIn() { var total = 0; //遍历答题卡和答案 for (var i = 0; i < answers.length; i++) { if (answers[i].toLowerCase() === keys[i]) { total = total + Number(p[i].score); } }} alert('你的得分是:' + total);的total储存到localStorage的一个数组,并且html点击一个查询按钮将从localStorage中获取数组并将每个total得分添加到html的得分的文本框中,把每次total得分的序号显示第几次文本框,html点击一个查询将的html和js代码,用简体中文
时间: 2024-03-21 07:39:01 浏览: 54
以下是实现的 HTML 代码:
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>得分查询</title>
</head>
<body>
<h1>得分查询</h1>
<button onclick="showScores()">查询</button>
<div id="scores"></div>
<script>
// 设置存储的键名为 "scores"
const scoresKey = "scores";
// 定义 handIn 函数
function handIn() {
var total = 0;
// 遍历答题卡和答案
for (var i = 0; i < answers.length; i++) {
if (answers[i].toLowerCase() === keys[i]) {
total = total + Number(p[i].score);
}
}
// 从 localStorage 中获取之前的得分数组,如果不存在则创建一个空数组
var scores = JSON.parse(localStorage.getItem(scoresKey)) || [];
// 将新的得分加入数组
scores.push(total);
// 将数组存储回 localStorage 中
localStorage.setItem(scoresKey, JSON.stringify(scores));
alert('你的得分是:' + total);
}
// 定义显示得分函数
function showScores() {
// 从 localStorage 中获取之前的得分数组,如果不存在则创建一个空数组
var scores = JSON.parse(localStorage.getItem(scoresKey)) || [];
// 获取得分显示区域的元素
var scoresDiv = document.getElementById("scores");
// 清空得分显示区域的内容
scoresDiv.innerHTML = "";
// 遍历得分数组,将每次得分添加到得分显示区域中
for (var i = 0; i < scores.length; i++) {
var scoreSpan = document.createElement("span");
scoreSpan.innerText = "第 " + (i+1) + " 次得分为:" + scores[i] + " 分。";
scoresDiv.appendChild(scoreSpan);
}
}
</script>
</body>
</html>
```
其中,`handIn` 函数会在用户提交答案时调用,将得分加入一个存储在 `localStorage` 中的数组中。`showScores` 函数会在用户点击查询按钮时调用,从 `localStorage` 中获取之前的得分数组,并将每次得分添加到 HTML 页面中显示。需要注意的是,由于 `localStorage` 中只能存储字符串类型的数据,所以在存储和读取数组时需要使用 `JSON.stringify` 和 `JSON.parse` 进行转换。
阅读全文