Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.28 KB | None | 0 0
  1. let containerAllSquareDivs = document.querySelector(".container-all-square-divs");// Select the container
  2. let userInput; // Squares number choice
  3.  
  4. // Bouton Reset
  5. document.querySelector("#squares-number-button").addEventListener("click", resetGrid)
  6.  
  7.  
  8. // Game beginning : Create a 16 squares grid
  9. createSquaresGrid(16);
  10.  
  11. // Create squares grid
  12. function createSquaresGrid(userInput) {
  13. // Fix the grid's columns and rows number inside containerAllSquareDivs
  14. containerAllSquareDivs.style.setProperty("grid-template-columns", "repeat(" + userInput + ", auto)");
  15. containerAllSquareDivs.style.setProperty("grid-template-row", "repeat(" + userInput + ", auto)");
  16.  
  17. // Create new squares and append them to the container
  18. for (let i = 0; i < userInput * userInput; i++) {
  19. let newSquareDiv = document.createElement("div");
  20. newSquareDiv.classList.add("new-square-divs")
  21. containerAllSquareDivs.appendChild(newSquareDiv);
  22. }
  23.  
  24. // Select all created divs (array)
  25. let allSquareDivs = document.querySelectorAll(".new-square-divs");
  26. // "Greyshade effect" for all created divs
  27.  
  28. for (let i = 0; i < userInput * userInput; i++) {
  29. let opacity = 0.1;
  30.  
  31. allSquareDivs[i].addEventListener("mouseenter", function(){
  32. allSquareDivs[i].style.backgroundColor = "black";
  33. allSquareDivs[i].style.opacity = opacity;
  34.  
  35. if (opacity < 1) {
  36. opacity += 0.1
  37. }
  38. }
  39. )
  40. }
  41.  
  42. // "Random colors effect" for all created divs when Random Colors Button clicked
  43. document.querySelector("#random-colors-button").addEventListener("click", function() {
  44.  
  45. for (let i = 0; i < userInput * userInput; i++) {
  46. allSquareDivs[i].style.backgroundColor = "white";
  47. allSquareDivs[i].style.opacity = "1";
  48.  
  49. allSquareDivs[i].addEventListener("mouseenter", function () {
  50.  
  51. var letters = '0123456789ABCDEF';
  52. var color = '#';
  53. for (var i = 0; i < 6; i++) {
  54. color += letters[Math.floor(Math.random() * 16)];
  55. }
  56. this.style.backgroundColor = color;
  57. });let containerAllSquareDivs = document.querySelector(".container-all-square-divs");// Select the container
  58. let userInput; // Squares number choice
  59.  
  60. // Bouton Reset
  61. document.querySelector("#squares-number-button").addEventListener("click", resetGrid)
  62.  
  63.  
  64. // Game beginning : Create a 16 squares grid
  65. createSquaresGrid(16);
  66.  
  67. // Create squares grid
  68. function createSquaresGrid(userInput) {
  69. // Fix the grid's columns and rows number inside containerAllSquareDivs
  70. containerAllSquareDivs.style.setProperty("grid-template-columns", "repeat(" + userInput + ", auto)");
  71. containerAllSquareDivs.style.setProperty("grid-template-row", "repeat(" + userInput + ", auto)");
  72.  
  73. // Create new squares and append them to the container
  74. for (let i = 0; i < userInput * userInput; i++) {
  75. let newSquareDiv = document.createElement("div");
  76. newSquareDiv.classList.add("new-square-divs")
  77. containerAllSquareDivs.appendChild(newSquareDiv);
  78. }
  79.  
  80. // Select all created divs (array)
  81. let allSquareDivs = document.querySelectorAll(".new-square-divs");
  82. // "Greyshade effect" for all created divs
  83.  
  84. for (let i = 0; i < userInput * userInput; i++) {
  85. let opacity = 0.1;
  86.  
  87. allSquareDivs[i].addEventListener("mouseenter", function(){
  88. allSquareDivs[i].style.backgroundColor = "black";
  89. allSquareDivs[i].style.opacity = opacity;
  90.  
  91. if (opacity < 1) {
  92. opacity += 0.1
  93. }
  94. }
  95. )
  96. }
  97.  
  98. // "Random colors effect" for all created divs when Random Colors Button clicked
  99. document.querySelector("#random-colors-button").addEventListener("click", function() {
  100.  
  101. for (let i = 0; i < userInput * userInput; i++) {
  102. allSquareDivs[i].style.backgroundColor = "white";
  103. allSquareDivs[i].style.opacity = "1";
  104.  
  105. allSquareDivs[i].addEventListener("mouseenter", function () {
  106.  
  107. var letters = '0123456789ABCDEF';
  108. var color = '#';
  109. for (var i = 0; i < 6; i++) {
  110. color += letters[Math.floor(Math.random() * 16)];
  111. }
  112. this.style.backgroundColor = color;
  113. });
  114.  
  115. };
  116. })
  117.  
  118. // Clear the grid from all colors
  119. let clearButton = document.querySelector("#clear-button")
  120. clearButton.addEventListener("click", function() {
  121. for (let i = 0; i < userInput * userInput; i++) {
  122. allSquareDivs[i].style.backgroundColor = "";
  123. allSquareDivs[i].style.opacity = "1";
  124. }
  125. }
  126. )
  127. }
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135. /*
  136. // Fix a random color code (HEX)
  137. function getRandomColor() {
  138. var letters = '0123456789ABCDEF';
  139. var color = '#';
  140. for (var i = 0; i < 6; i++) {
  141. color += letters[Math.floor(Math.random() * 16)];
  142. }
  143. this.style.backgroundColor = color;
  144. }
  145.  
  146. */
  147. // Reset the grid when Reset Button clicked
  148. document.querySelector("#reset-button").addEventListener("click", function() {
  149. resetGrid()
  150. createSquaresGrid(16)
  151. })
  152.  
  153. // Reset the grid
  154. function resetGrid () {
  155. let containerAllSquareDivs = document.querySelector(".container-all-square-divs"); // Pourquoi ne pas pouvoir accéder à containerAllSquareDivs(1) et avoir à le redéfinir dans la fonction?
  156.  
  157. // Remove all created divs inside the container
  158. while (containerAllSquareDivs.hasChildNodes()) {
  159. containerAllSquareDivs.removeChild(containerAllSquareDivs.lastChild);
  160. }
  161. //let userInput = prompt("Combien de carrés ?")
  162. let userInput = 5;
  163. createSquaresGrid(userInput)
  164. }
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171. };
  172. })
  173.  
  174. // Clear the grid from all colors
  175. let clearButton = document.querySelector("#clear-button")
  176. clearButton.addEventListener("click", function() {
  177. for (let i = 0; i < userInput * userInput; i++) {
  178. allSquareDivs[i].style.backgroundColor = "";
  179. allSquareDivs[i].style.opacity = "1";
  180. }
  181. }
  182. )
  183. }
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191. /*
  192. // Fix a random color code (HEX)
  193. function getRandomColor() {
  194. var letters = '0123456789ABCDEF';
  195. var color = '#';
  196. for (var i = 0; i < 6; i++) {
  197. color += letters[Math.floor(Math.random() * 16)];
  198. }
  199. this.style.backgroundColor = color;
  200. }
  201.  
  202. */
  203. // Reset the grid when Reset Button clicked
  204. document.querySelector("#reset-button").addEventListener("click", function() {
  205. resetGrid()
  206. createSquaresGrid(16)
  207. })
  208.  
  209. // Reset the grid
  210. function resetGrid () {
  211. let containerAllSquareDivs = document.querySelector(".container-all-square-divs"); // Pourquoi ne pas pouvoir accéder à containerAllSquareDivs(1) et avoir à le redéfinir dans la fonction?
  212.  
  213. // Remove all created divs inside the container
  214. while (containerAllSquareDivs.hasChildNodes()) {
  215. containerAllSquareDivs.removeChild(containerAllSquareDivs.lastChild);
  216. }
  217. //let userInput = prompt("Combien de carrés ?")
  218. let userInput = 5;
  219. createSquaresGrid(userInput)
  220. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement