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

212
Views
¿Cómo hacer que un elemento reaccione de dos maneras diferentes después de haber hecho clic una vez?

Soy bastante nuevo en JavaScript (y en la codificación en general) y estoy tratando de hacer que los elementos de imagen dentro de un div sean visibles cuando se hace clic en algo y luego, cuando se vuelve a hacer clic en lo mismo, dichos elementos deben ocultarse nuevamente.

Sé que tampoco soy bueno explicando, así que aquí está el código:

HTML:

 <body class="background-dark"> <div class="popup" id="popupWindow"> <img onclick="openMenu()" src="img/add.png" id="add"> <div class="menu"> <div class="popup sizeM"> <h1>M</h1> </div> <div class="popup sizeL"> <h1>L</h1> </div> </div> </div>

CSS:

 .popup .sizeM, .sizeL { position: fixed; width: 45px; height: 45px; font-family: 'Roboto', sans-serif; background-color: rgba(128, 9, 250, 0.550); color: white; border: 1px #262626; border-radius: 50%; text-align: center; left: auto; right: auto; margin-left: 17px; } .menu { display: none; }

JavaScript

 function openMenu() { let pops = document.getElementById('add'); pops.addEventListener('click', openPops); function openPops() { document.querySelector('.menu').style.display = 'flex'; } }

Por el momento, solo puedo hacer visibles los elementos M y L, ya que son invisibles desde display: none .

Probé algo como

 const check = false; function openMenu() { let pops = document.getElementById('add'); pops.addEventListener('click', openPops); function openPops() { if (!check) { document.querySelector('.menu').style.display = 'flex'; check = true; closePops(function() { if (check = true) { document.querySelector('.menu').style.display = 'none'; check = false; } }); } } }

Y otras formas similares de escribirlo y parece que no puedo entenderlo.

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!