Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

463
Views
El botón Borrar en Etch-a-Sketch solo funciona una vez

Escribí una función Etch-a-Sketch a través de un bucle for y traté de darle vida con un botón "borrar" para borrar los divs y un botón "nuevo" para elegir una nueva cuadrícula. La función clear() solo funciona la primera vez. Desde la segunda entrada en la parte inferior, los divs permanecen negros si elige una cuadrícula más grande, lo que da como resultado que se muestren los divs negros "antiguos" en la nueva cuadrícula. Creo que la función clear() tiene que implementarse de alguna manera en la función makeGrid(), para borrar la cuadrícula actual, pero ¿cómo implemento eso en eventListener? Espero que puedas entender lo que quiero decir, no hay hablante nativo aquí. aquí está el código, primero HTML y luego Javascript.

 <body> <h2>Etch-a-sketch</h2> <div class="btn-container"> <button type="button" id="btn">clear</button> <button type="button" id="new">New</button> </div> <div class ="container" id="container"> </div> </body>
 document.addEventListener('DOMContentLoaded', () => { function makeGrid(num) { for(let i = 0;i < (num * num); i++) { const div = document.createElement('div'); container.style.gridTemplateColumns = `repeat(${num}, 1fr)`; container.style.gridTemplateRows = `repeat(${num}, 1fr)`; container.appendChild(div).classList.add('gridItems') div.addEventListener('mouseover', function(e){ e.target.style.backgroundColor = 'black'; }) } } function clear() { gridItems.forEach(item => { item.style.backgroundColor = 'pink'; }); } let num = 0; num = prompt('Pick a number between 1 and 100!'); if(num > 100){ prompt('to high!') }else{ makeGrid(num); } function ask() { let num = 0; num = prompt('Pick a number between 1 and 100!'); if(num > 100){ prompt('to high!') }else{ makeGrid(num); } } const button = document.getElementById('btn'); const newBtn = document.getElementById("new"); const gridItems = document.querySelectorAll('.gridItems'); newBtn.addEventListener('click', ask); button.addEventListener('click', clear); })

¡Buen fin de semana y gracias!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!