Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Scores not displaying

i tried to add the scores to a table but now it doesn’t display

can anyone help me?

i’m hosting on github pages

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

file:https://raw.githubusercontent.com/Eternal-Network/Eternal-hub/master/public/leaderboard.html

this is the code:

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);
  }
}

let colors = ["gold", "silver", "#cd7f32"];
for (let i = 0; i < 3; i++) {
  elements[i].style.color = colors[i];
}
}

updateLeaderboardView();

function randomize() {
  for (var i = 0; i < scores.length; i++) {
    scores[i].score = Math.floor(Math.random() * (600 - 300 + 1)) + 300;
  }
  // when your data changes, call updateLeaderboardView
  updateLeaderboardView();
}
<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>

i tried to add the scores to a table but the scores didn’t display

pls i’ve already asked on pretty much everything

>Solution :

See the comment below

...
    leaderboard.appendChild(scoreRow);
  }
//} unnesessary "}"
//  let colors = ["gold", "silver", "#cd7f32"];  unnesessary too, already defined
  for (let i = 0; i < 3; i++) {
...
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);
  }
//} unnesessary "}"
//  let colors = ["gold", "silver", "#cd7f32"];  unnesessary too, already defined
//  for (let i = 0; i < 3; i++) {
//    elements[i].style.color = colors[i];
//  }
}

updateLeaderboardView();

function randomize() {
  for (var i = 0; i < scores.length; i++) {
    scores[i].score = Math.floor(Math.random() * (600 - 300 + 1)) + 300;
  }
  // when your data changes, call updateLeaderboardView
  updateLeaderboardView();
}
<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>
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading