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

188
Visualizações
¿Qué es el error de "invocación ilegal" que impide que mi programa funcione?

Estaba desarrollando un programa en JavaScript, cuando cada vez que se presiona el botón, la imagen debe alternar cada vez que se presiona; si actualmente es la imagen de "cuadro abierto", debe cambiar a la imagen de "cuadro cerrado". De manera similar, si es actualmente en cerrado, debería pasar a la "caja abierta". Sin embargo, estoy enfrentando un error de "invocación ilegal". ¿Cómo se puede resolver esto?

 var jackbox = document.getElementById("jackbox"); function click() { if (this.id == "Jump out,Jack!") { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; } else(this.id == "Jump out,Jack") { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; } } document.getElementById("toggle").onclick = open;
 <div style="text-align: center; height: 280px;"> <img id="jackbox" src="https://www.paulneve.com/pp/jackbox-closed.jpg" /> <br/> <button id="toggle">Jump out, Jack!</button> </div>

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Hay dos problemas principales con su código:


  1. document.getElementById("toggle").onclick = open; debe ser document.getElementById("toggle").onclick = click; porque la función que desea ejecutar al hacer clic es la función de click .

    Nota:

    Como mencionó Dai en los comentarios, debería preferir usar addEventListener . Como esto:

     document.getElementById("toggle").addEventListener("click", click);


  1. This else(this.id == "Jump out,Jack") no es javascript inválido, en la declaración else no tiene que proporcionar una condición. Quite la condición o cambie else a else if . Como esto:

     if (this.id == "Jump out,Jack!") { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; } else { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; }

    O

     if (this.id == "Jump out,Jack!") { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; } else if (this.id == "Jump out,Jack") { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; }



Código definitivo:

 const jackbox = document.getElementById("jackbox"); function click() { if (this.id == "Jump out,Jack!") { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; } else { document.getElementById("jackbox").src = "https://www.paulneve.com/pp/jackbox-open.jpg"; } } document.getElementById("toggle").addEventListener("click", click);
 <div style="text-align: center; height: 280px;"> <img id="jackbox" src="https://www.paulneve.com/pp/jackbox-closed.jpg" /> <br /> <button id="toggle">Jump out, Jack!</button> </div>

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