index.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const inputDiv = document.getElementById("inputs");
  2. const tbody = document.getElementById("tbody");
  3. const blocks = [];
  4. let inputs = localStorage.getItem("inputs");
  5. if(inputs){
  6. inputs = inputs.split(",");
  7. }else{
  8. inputs = [];
  9. }
  10. for(let i = 0; i < 25; i++){
  11. const input = document.createElement("input");
  12. input.type = "text";
  13. if(inputs[i]) input.value = inputs[i];
  14. inputDiv.appendChild(input);
  15. }
  16. for(let i = 0; i < 5; i++){
  17. const tr = document.createElement("tr");
  18. for(let j = 0; j < 5; j++){
  19. const td = document.createElement("td");
  20. tr.appendChild(td);
  21. blocks.push(td);
  22. }
  23. tbody.appendChild(tr);
  24. }
  25. const shuffle = (arr)=>{
  26. for (let i = arr.length - 1; i > 0; i--) {
  27. const j = Math.floor(Math.random() * (i + 1));
  28. [arr[i], arr[j]] = [arr[j], arr[i]];
  29. }
  30. };
  31. document.getElementById("saveInputs").addEventListener("click", ()=>{
  32. const inputs = document.querySelectorAll("#inputs input");
  33. let inputString = "";
  34. for(let i = 0; i < inputs.length; i++){
  35. if(inputs[i].value === "") continue;
  36. inputString += `${inputs[i].value},`;
  37. }
  38. if(inputString[inputString.length-1] === ",") inputString = inputString.slice(0, -1);
  39. localStorage.setItem("inputs", inputString);
  40. });
  41. document.getElementById("start").addEventListener("click", ()=>{
  42. const inputElems = document.querySelectorAll("#inputs input");
  43. const inputs = [];
  44. for(let i = 0; i < inputElems.length; i++){
  45. inputs.push(inputElems[i].value);
  46. }
  47. shuffle(inputs);
  48. const tds = document.querySelectorAll("#tbody td");
  49. for(let i = 0; i < tds.length; i++){
  50. const p = document.createElement("p");
  51. p.textContent = inputs[i];
  52. while(tds[i].children.length > 0){
  53. tds[i].removeChild(tds[i].firstChild);
  54. }
  55. tds[i].appendChild(p);
  56. }
  57. });
  58. for(let i = 0; i < blocks.length; i++){
  59. blocks[i].addEventListener("click", ()=>{
  60. let svg = blocks[i].querySelector("svg");
  61. if(svg){
  62. blocks[i].removeChild(svg);
  63. }else{
  64. let cross = document.getElementById("cross");
  65. cross = cross.cloneNode(true);
  66. cross.removeAttribute("id");
  67. cross.style.display = "block";
  68. blocks[i].appendChild(cross);
  69. }
  70. });
  71. }