El problema está en el título.
He estado tratando de arreglar esto durante 2 horas, principalmente buscando soluciones en Google, pero parece que no puedo encontrar ninguna que funcione. Así que ahora estoy aquí.
De todos modos, tengo un problema con un conmutador de javascript que hice.
Lo que estoy tratando de hacer:
Cree un botón de expandir/contraer que solo expanda/contraiga un cuadro cuando hace clic en la flecha
Aquí está el HTML;
<a id="expand1" value="OFF" type="button" class="btn btn-link collapsed" onclick="toggle(this)"> <div class="right"> <i id="arrow" class="animate-icon fa fa-solid fa-angle-up"></i> </div> </a> <div id="answer1"> answer </div>aquí está el JS;
function toggle(button) { if (button.value == "OFF") { button.value = "ON"; document.getElementById('answer1').style.opacity = "1"; document.getElementById('answer1').style.height = "350px"; } else { button.value = "OFF"; document.getElementById('answer1').style.opacity = "0"; document.getElementById('answer1').style.height = "0px"; } }Lo que he intentado hasta ahora;
Si alguien tiene alguna idea de cómo solucionar esto, le agradecería mucho que me dijera qué puedo hacer para solucionar este problema. ¡Gracias!
no hay un valor de atributo, es por eso que la primera vez que hace clic en el ancla, la condición va a otra rama, sugeriría usar la opacidad de la respuesta como determinante de la acción:
function toggle(button) { var ans = document.getElementById('answer1'); if (ans.style.opacity != '1') { ans.style.opacity = "1"; ans.style.height = "350px"; } else { ans.style.opacity = "0"; ans.style.height = "0px"; } } <a id="expand1" value="OFF" type="button" class="btn btn-link collapsed" onclick="toggle(this)"> toggle </a> <div id="answer1" style="opacity:0;"> answer </div>