Advertisement
Guest User

Untitled

a guest
May 21st, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <title>JavitóZH</title>
  6. <style type="text/css">
  7. table.canvas {
  8. border-collapse: collapse;
  9. }
  10. table.canvas td {
  11. width: 20px;
  12. height: 20px;
  13. border: 1px solid gray;
  14. }
  15. table.canvas tr:last-child :last-child {
  16. color: red;
  17. }
  18. table.canvas tr:last-child,
  19. table.canvas tr :last-child {
  20. font-weight: bold;
  21. }
  22. #myProgress {
  23. width: 100%;
  24. background-color: #ddd;
  25. text-align: center;
  26. }
  27.  
  28. #myBar {
  29. width: 1%;
  30. height: 30px;
  31. background-color: #4caf50;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div id="myProgress">
  37. <div id="myBar"></div>
  38. </div>
  39. <script>
  40. class App {
  41. constructor(width, height, wrapper = null) {
  42. this.palette = null;
  43. this.width = width;
  44. this.height = height;
  45.  
  46. this.wrapper = wrapper === null ? document.body : wrapper;
  47. this.buildCanvas();
  48. this.feltolt();
  49. }
  50.  
  51. feltolt() {
  52. var table = document.getElementById("tablazat");
  53. var i, j;
  54.  
  55. var rows = table.getElementsByTagName("tr");
  56. for (i = 0; i < this.height - 1; i++) {
  57. var cells = rows[i].getElementsByTagName("td");
  58. for (j = 0; j < this.width - 1; j++) {
  59. var td = cells[j];
  60. td.addEventListener("click", this.generateNumber);
  61. td.innerHTML = Math.floor(Math.random() * 10);
  62. }
  63. }
  64. this.sumTable();
  65. }
  66.  
  67. generateNumber(event) {
  68. event.target.innerHTML = Math.floor(Math.random() * 10);
  69. }
  70.  
  71. sumTable() {
  72. var table = document.getElementById("tablazat");
  73. var i,
  74. j,
  75. col_sums = [0, 0, 0, 0, 0, 0, 0, 0],
  76. max = 10;
  77.  
  78. var rows = table.getElementsByTagName("tr");
  79. for (i = 0; i < this.height - 1; i++) {
  80. var row_sum = 0;
  81. var cells = rows[i].getElementsByTagName("td");
  82. for (j = 0; j < this.width - 1; j++) {
  83. var td = cells[j];
  84. td.addEventListener("click", event => {
  85. this.generateNumber(event);
  86. this.sumTable();
  87. });
  88. var szam = parseInt(td.innerHTML);
  89. row_sum += szam;
  90. col_sums[j] += szam;
  91. }
  92. cells[this.width - 1].innerHTML = row_sum;
  93. col_sums[this.width - 1] += row_sum;
  94. }
  95.  
  96. var col_sum_cells = rows[this.height - 1].getElementsByTagName("td");
  97. for (j = 0; j < this.width; j++) {
  98. var td = col_sum_cells[j];
  99. td.innerHTML = col_sums[j];
  100. if (j === 7) {
  101. this.move(Math.floor((col_sums[j] / 490) * 100) - 1);
  102. var elem = document.getElementById("myBar");
  103. elem.innerHTML = Math.floor((col_sums[j] / 490) * 100) + "%";
  104. }
  105. }
  106. }
  107.  
  108. buildCanvas() {
  109. var table = document.createElement("table");
  110. table.id = "tablazat";
  111. table.classList.add("canvas");
  112. var i, j;
  113. for (i = 0; i < this.height; i++) {
  114. var tr = document.createElement("tr");
  115. for (j = 0; j < this.width; j++) {
  116. var td = document.createElement("td");
  117. tr.appendChild(td);
  118. }
  119. table.appendChild(tr);
  120. }
  121. this.wrapper.appendChild(table);
  122. }
  123. move(max) {
  124. var elem = document.getElementById("myBar");
  125. var width = 1;
  126. var id = setInterval(frame, 100);
  127. function frame() {
  128. if (width >= 100) {
  129. clearInterval(id);
  130. } else if (width > max) {
  131. clearInterval(id);
  132. } else {
  133. width++;
  134. elem.style.width = width + "%";
  135. }
  136. }
  137. }
  138. }
  139.  
  140. var app = new App(8, 8);
  141. </script>
  142. </body>
  143. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement