Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
Inicialmente, quiero que el botón ENCENDIDO se muestre en bloque y que no muestre ninguno, si hago clic en el botón ENCENDIDO, aparece APAGADO y desaparece Encendido, y viceversa

Estoy tratando de lograr un efecto de alternancia usando las propiedades de visualización, solo se debe mostrar un botón a la vez, mientras que el otro está oculto y viceversa. Actualmente, puedo ocultar el botón de apagado si hago clic en cualquiera de los botones, entonces, ¿qué debo hacer para que solo se muestre uno a la vez?

 function myFunction() { var x = document.getElementById("on"); var y = document.getElementById("off"); y.style.display ="none"; if (x.style.display === "none") { x.style.display = "block"; } else { y.style.display = "none"; x.style.display = "block"; } }
 <button onclick="myFunction()" id="on">ON</button> <button onclick="myFunction()" id="off">OFF</button>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema con su lógica es que necesita cambiar el estado de display de ambos elementos dentro de la función que llama:

 var on = document.getElementById("on"); var off = document.getElementById("off"); function myFunction() { if (on.style.display === "none") { off.style.display = "none"; on.style.display = "block"; } else { off.style.display = "block"; on.style.display = "none"; } }
 <button onclick="myFunction()" id="on">ON</button> <button onclick="myFunction()" id="off" style="display: none;">OFF</button>

Otra forma de hacer lo que necesita sería usar una clase CSS para ocultar el elemento requerido. Esto evita la necesidad de la condición if . Luego puede usar classList.toggle() para activar/desactivar la clase en cada elemento en clics sucesivos. Algo como esto:

 let toggles = document.querySelectorAll('.toggle'); toggles.forEach(toggle => { toggle.addEventListener('click', e => { toggles.forEach(el => el.classList.toggle('hide')); }); });
 .hide { display: none; }
 <button class="toggle" id="on">ON</button> <button class="toggle hide" id="off">OFF</button>

O incluso más simplemente usando jQuery:

 let $toggles = $('.toggle').on('click', () => $toggles.toggleClass('hide'));
 .hide { display: none; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <button class="toggle" id="on">ON</button> <button class="toggle hide" id="off">OFF</button>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda