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

158
Views
¿Cómo "hacer algo" si se hacen clic en 3 botones? (Lo intenté con esto:)

Estoy teniendo problemas con una parte de mi código. Ayer lo probé y funcionaba perfectamente, y ahora ya no funciona. Realmente no entiendo, así que si ven algo, ¡díganmelo!

 var FERNC1 = document.getElementById('pc1'); var FERNC2 = document.getElementById('pc11'); var UNNC1 = document.getElementById('pc8'); FERNC1.addEventListener('click', function () { fer1 = 1; bronze1 = 0; argent1 = 0; or1 = 0; platine1 = 0; diamant1 = 0; immortel1 = 0; console.log(fer1); FERNC2.addEventListener('click', function () { fer2 = 1; bronze2 = 0; argent2 = 0; or2 = 0; platine2 = 0; diamant2 = 0; immortel2 = 0; console.log(fer2); UNNC1.addEventListener('click', function () { un1 = 1; deux1 = 0; trois1 = 0; console.log(un1); if ((fer1 == 1 && fer2 == 1 && un1 == 1)) { document.getElementById('pc88').classList.add('inactiveLink'); document.getElementById("s7").style.display = "block"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } else { document.getElementById('pc88').classList.remove('inactiveLink'); document.getElementById("s7").style.display = "none"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } }); }); });

Gracias chicos

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Las apuestas deben verificarse cada vez que se hace clic en los botones, como se muestra a continuación:

 FERNC1.addEventListener('click', function () { fer1 = 1; bronze1 = 0; argent1 = 0; or1 = 0; platine1 = 0; diamant1 = 0; immortel1 = 0; console.log(fer1); if ((fer1 == 1 && fer2 == 1 && un1 == 1)) { document.getElementById('pc88').classList.add('inactiveLink'); document.getElementById("s7").style.display = "block"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } else { document.getElementById('pc88').classList.remove('inactiveLink'); document.getElementById("s7").style.display = "none"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } } FERNC2.addEventListener('click', function () { fer2 = 1; bronze2 = 0; argent2 = 0; or2 = 0; platine2 = 0; diamant2 = 0; immortel2 = 0; console.log(fer2); if ((fer1 == 1 && fer2 == 1 && un1 == 1)) { document.getElementById('pc88').classList.add('inactiveLink'); document.getElementById("s7").style.display = "block"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } else { document.getElementById('pc88').classList.remove('inactiveLink'); document.getElementById("s7").style.display = "none"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } } UNNC1.addEventListener('click', function () { un1 = 1; deux1 = 0; trois1 = 0; console.log(un1); if ((fer1 == 1 && fer2 == 1 && un1 == 1)) { document.getElementById('pc88').classList.add('inactiveLink'); document.getElementById("s7").style.display = "block"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } else { document.getElementById('pc88').classList.remove('inactiveLink'); document.getElementById("s7").style.display = "none"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } });
about 4 years ago · Juan Pablo Isaza Report

0

Requisito :

  • Hay 3 botones
  • Cuando se hace clic en los tres botones (en cualquier orden y cualquier número de veces mayor que 1), se debe ejecutar algún bloque de código en particular.

Enfoque :

 const clickCounter = { btn1: 0, btn2: 0, btn3: 0 }; const areOtherBtnsClicked = (btn = 'btn1') => ( Object.entries(clickCounter).reduce( (f, ([k, v])) => (k === btn ? f : f && v > 0), true ) ); const btnClickHandler = (btnNumber = 'btn1') => { clickCounter[btnNumber]++; if (areOtherBtnsClicked(btnNumber)) { someCodeBlock; } };

Luego, dentro de la parte relevante de la secuencia de comandos, btnClickHandler puede aparecer como el controlador de clics para cada botón al pasar el número de botón como argumento. Entonces, algo como esto: addEventListener('click', ('<<bt1 or btn2 or btn3 goes here>>') => btnClickHandler()) .

Algunos errores de sintaxis pueden estar presentes en lo anterior. Comente o edite según sea necesario.

about 4 years ago · Juan Pablo Isaza Report

0

¿No puedes simplemente agregar una clase a tus elementos?

Entonces sería:

 var clickableElement = document.querySelector('.customClass'); clickableElement.addEventListener('click', function () { if (this.id == "pc1") { fer1 = 1; bronze1 = 0; argent1 = 0; or1 = 0; platine1 = 0; diamant1 = 0; immortel1 = 0; console.log(fer1); } else if (this.id == "pc11") { fer2 = 1; bronze2 = 0; argent2 = 0; or2 = 0; platine2 = 0; diamant2 = 0; immortel2 = 0; console.log(fer2); } else if (this.id == "pc8") { un1 = 1; deux1 = 0; trois1 = 0; console.log(un1); if ((fer1 == 1 && fer2 == 1 && un1 == 1)) { document.getElementById('pc88').classList.add('inactiveLink'); document.getElementById("s7").style.display = "block"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } else { document.getElementById('pc88').classList.remove('inactiveLink'); document.getElementById("s7").style.display = "none"; document.getElementById("s8").style.display = "none"; document.getElementById("s9").style.display = "none"; } } }
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!