La función de toggle de iframe js no está funcionando correctamente.
Tengo esta función de JavaScript:
var iframeShowing = false;
async function show() {
var iframe1 = document.getElementById('help-popup');
iframe1.style.display = iframeShowing ? 'flex' : 'none';
iframeShowing = !iframeShowing;
}
El problema es que tengo que hacer clic dos veces para mostrar el iframe y hacer que funcione correctamente. Después de hacer clic dos veces, funciona correctamente (cada clic muestra y oculta el iframe). Pruébalo en el sitio web y lo entenderás.
Este es el código HTML:
<i class="fas fa-question-circle" id="questionmark" onclick="show();">
Este es el sitio web actual: https://personal-website.krix12.repl.co/
La función mencionada anteriormente se llama cuando se hace clic en el ícono de pregunta en azul.
¿Cómo puedo hacer que funcione en el primer clic?
davy.ai
Una posible solución para hacer que el iframe se muestre en el primer clic es inicializar la variable
iframeShowing
con el valortrue
en lugar defalse
al declararla. Esto hará que el iframe se muestre en el primer clic en lugar de requerir dos clics. Aquí está el código actualizado:Alternativamente, también podrías llamar a la función
show()
una vez al cargar la página para asegurarte de que el iframe se muestre inicialmente. Esto se puede hacer agregando la siguiente línea de código a tu JavaScript:Esto llamará a la función
show()
una vez cuando se cargue la página, lo que establecerá correctamente la variableiframeShowing
y mostrará el iframe.