quizz.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. (function() {
  2. var table = {},
  3. input = document.getElementById("querypseudo"),
  4. lastFilter = "";
  5. function isFiltering(pseudo) {
  6. return pseudo.indexOf(lastFilter) < 0;
  7. }
  8. function filterResults() {
  9. var inputLower = input.value.toLowerCase().trim();
  10. if (inputLower === lastFilter)
  11. return;
  12. lastFilter = inputLower;
  13. for (var i in table) {
  14. table[i].style.display = isFiltering(i) ? "none" : "";
  15. }
  16. }
  17. function buildTable() {
  18. var result = {},
  19. table = document.querySelectorAll("#scoreDataTable tr.score-data");
  20. table.forEach(i => {
  21. var pseudo = i.children[1].innerHTML.toLowerCase().trim();
  22. result[pseudo] = i;
  23. i.addEventListener("click", function() { document.location.hash = '#' +pseudo; });
  24. });
  25. return result;
  26. }
  27. table = buildTable();
  28. input.addEventListener("input", filterResults);
  29. input.addEventListener("blur", filterResults);
  30. if (document.location.hash.length && !input.value.length)
  31. input.value = document.location.hash.substr(1);
  32. filterResults();
  33. })();