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
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"; } });Requisito :
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.
¿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"; } } }