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

163
Views
Evita repetirme

Estoy seguro de que hay una manera de escribir una versión más corta del siguiente código js. Al final solo me estoy repitiendo una y otra vez. ¿Alguna sugerencia?

¡Muchas gracias!

 if (designVal == 0 && colorVal == 0) { design01yellow.style.display = "block"; design01black.style.display = "none"; design01blue.style.display = "none"; design01grey.style.display = "none"; design02yellow.style.display = "none"; design02black.style.display = "none"; design02blue.style.display = "none"; design02grey.style.display = "none"; design03yellow.style.display = "none"; design03black.style.display = "none"; design03blue.style.display = "none"; design03grey.style.display = "none"; } else if (designVal == 0 && colorVal == 1) { design01yellow.style.display = "none"; design01black.style.display = "block"; design01blue.style.display = "none"; design01grey.style.display = "none"; design02yellow.style.display = "none"; design02black.style.display = "none"; design02blue.style.display = "none"; design02grey.style.display = "none"; design03yellow.style.display = "none"; design03black.style.display = "none"; design03blue.style.display = "none"; design03grey.style.display = "none"; } else if (designVal == 0 && colorVal == 2) { design01yellow.style.display = "none"; design01black.style.display = "none"; design01blue.style.display = "block"; design01grey.style.display = "none"; design02yellow.style.display = "none"; design02black.style.display = "none"; design02blue.style.display = "none"; design02grey.style.display = "none"; design03yellow.style.display = "none"; design03black.style.display = "none"; design03blue.style.display = "none"; design03grey.style.display = "none"; } else if ///AND SO ON
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Dé a todos los elementos una clase común (por ejemplo class="design" ). Vuelve sobre ellos, configurándolos todos en none , luego configura el elemento específico para block .

 document.querySelectorAll(".design").forEach(el => el.style.display = "none"); if (designVal == 0 && colorVal == 0) { design01yellow.style.display = "block"; } else if (designVal == 0 && colorVal == 1) { design01black.style.display = "block"; } ...
about 4 years ago · Juan Pablo Isaza Report

0

Los normalizaría a 'display: none' y luego solo configuraría el que desea display: block .

 if (designVal === 0) { design01yellow.style.display = "none"; design01black.style.display = "none"; design01blue.style.display = "none"; design01grey.style.display = "none"; design02yellow.style.display = "none"; design02black.style.display = "none"; design02blue.style.display = "none"; design02grey.style.display = "none"; design03yellow.style.display = "none"; design03black.style.display = "none"; design03blue.style.display = "none"; design03grey.style.display = "none"; if(colorVal === 0) { design01yellow.style.display = "block"; } else if (colorVal === 1) { design01black.style.display = "block"; } else if (colorVal === 2) { design01blue.style.display = "block"; } // and so on }
about 4 years ago · Juan Pablo Isaza Report
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!