本文介绍如何为基于按钮点击的答题评分系统添加实时总分统计功能,通过全局变量维护累计分数,并在页面上动态更新显示结果。
本文介绍如何为基于按钮点击的答题评分系统添加实时总分统计功能,通过全局变量维护累计分数,并在页面上动态更新显示结果。
在当前代码中,每次点击“WRONG ANSWER!”或“CORRECT ANSWER!”按钮都会生成一个独立的 <div> 元素并追加到对应容器中(#div1 或 #div2),但原始逻辑未对分数进行跨操作累积——每个函数内部都重新声明 calc = 0,导致无法实现真正的求和。
要实现全局总分实时汇总,关键在于:
以下是优化后的完整实现:
<input id="box" type="hidden" /><button onclick="wrong_answer()" id="button1">WRONG ANSWER!</button><button onclick="correct_answer()">CORRECT ANSWER!</button><!-- 总分显示区 --><div>Sum is: <span id="sum">0</span></div><!-- 分类记录区 --><div id="div1" class="div_wrong"></div><div id="div2" class="div_correct"></div><style>.div_wrong { font-size: larger; font-family: "Agency FB"; color: red; font-weight: 700;}.div_correct { font-size: larger; font-family: "Agency FB"; color: blue; font-weight: 700;}</style><script>let sum = 0; // ✅ 全局累计变量,初始化为0function wrong_answer() { const div_ele = document.createElement("div"); div_ele.textContent = "-1"; // 推荐使用 textContent 而非 innerHTML(更安全) document.getElementById("div1").appendChild(div_ele); sum -= 1; // 累加 -1 分 document.getElementById("sum").textContent = sum; // 实时更新总分}function correct_answer() { const div_ele = document.createElement("div"); div_ele.textContent = "+3"; document.getElementById("div2").appendChild(div_ele); sum += 3; // 累加 +3 分 document.getElementById("sum").textContent = sum;}</script>
✅ 注意事项与最佳实践:
通过以上改造,系统即可稳定、准确地完成多轮答题后的分数汇总,并在界面上清晰呈现当前总分。