Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

247
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda