You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Pages部署的排行榜分数无法显示,求技术协助

修复排行榜分数不显示的问题

问题根源

你的JavaScript代码存在两处致命错误,导致脚本无法正常执行:

  • 多余的闭合大括号:在updateLeaderboardView函数结束后,多了一个额外的},破坏了代码结构,直接触发语法错误。
  • 未定义的elements变量:那段额外的颜色设置代码中,elements从未被声明或赋值,执行会抛出引用错误。

这两个错误会让浏览器终止脚本运行,updateLeaderboardView()函数根本没机会执行,表格自然无法加载分数数据。

修复后的完整代码

HTML部分

<button onclick="randomize()">Randomize</button>
<a href="./submit.html">Submit your Score!</a>
<table id="leaderboard">
  <thead>
    <tr>
      <th>Rank</th>
      <th>Name</th>
      <th>Score</th>
    </tr>
  </thead>
  <tbody>
    <!-- scores will be inserted by the script here -->
  </tbody>
</table>

JavaScript部分

let scores = [{
    name: "Player 1",
    score: 300
  },
  {    name: "Player 2",
    score: 370
  },
  {    name: "Player 3",
    score: 500
  },
  {    name: "Player 4",
    score: 430
  },
  {    name: "Player 5",
    score: 340
  },
];

function updateLeaderboardView() {
  let leaderboard = document.getElementById("leaderboard").getElementsByTagName("tbody")[0];
  leaderboard.innerHTML = "";

  scores.sort(function(a, b) {
    return b.score - a.score;
  });

  let colors = ["gold", "silver", "#cd7f32"];

  for (let i = 0; i < scores.length; i++) {
    let rank = document.createElement("td");
    let name = document.createElement("td");
    let score = document.createElement("td");

    rank.innerText = i + 1; // rank starts from 1
    name.innerText = scores[i].name;
    score.innerText = scores[i].score;

    let scoreRow = document.createElement("tr");
    if (i < 3) { // apply color for top 3 ranks
      scoreRow.style.color = colors[i];
    }

    scoreRow.appendChild(rank);
    scoreRow.appendChild(name);
    scoreRow.appendChild(score);
    leaderboard.appendChild(scoreRow);
  }
}

updateLeaderboardView();

function randomize() {
  for (var i = 0; i < scores.length; i++) {
    scores[i].score = Math.floor(Math.random() * (600 - 300 + 1)) + 300;
  }
  updateLeaderboardView();
}

修复说明

删除了updateLeaderboardView函数后那段多余的错误代码(包括未定义的elements逻辑和多余括号),确保代码结构合法。原有的排行榜渲染逻辑本身正确:排序分数、创建表格行、为前三名设置颜色,保留后即可正常运行。

替换代码后,刷新页面就能看到正常显示的排行榜,点击Randomize按钮也能随机更新分数。

内容的提问来源于stack exchange,提问作者Virtual Genius... Kinda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:02:03