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

179
Vistas
¿Cómo puedo hacer que mi imagen reemplace el código javascript para que funcione en un archivo .js externo?

Así que soy nuevo en el desarrollo web (cambio de carrera) y me estoy encontrando con un obstáculo que parece que no puedo superar.

Estoy tratando de escribir un script que cambie el img src en mi HTML. Cuando uso JavaScript en línea, hace lo que quiero y reemplaza la imagen:

 <img id="book1" src="placeholder" alt="Book1"> <h5 class="title">TITLE by Author Name</h5> <p>Book description</p> <div class="center"> <button type="button" class="amz-btn" id="btn1" onclick="showImage()">Buy from Amazon</button> <script type="text/javascript"> function showImage() { let image = document.getElementById("book1"); if (image.src.match("placeholder")) { image.src = "https://storage.googleapis.com/du-prd/books/images/9781538728529.jpg"; } else { console.log("This is frustrating"); } } </script>

Pero cuando lo transfiero a mi archivo .js externo, aparece un error de sintaxis que dice que showImage no está definido. ¿Cómo puedo resolver esto?

Aquí está el código tal como está escrito en el archivo externo

 document.getElementById("btn1").addEventListener("click", showImage) function showImage() { let image = document.getElementById("book1"); if (image.src.match("placeholder")) { image.src = "https://storage.googleapis.com/du-prd/books/images/9781538728529.jpg"; } else { console.log("This is frustrating"); } }

Alguien sugirió que use addEventListener en lugar de hacer clic en el HTML, así que lo hice, pero estoy seguro de que está en el lugar equivocado y está haciendo lo incorrecto.

Intenté ejecutar lo siguiente en la consola del navegador y funciona perfectamente, pero aún no puedo hacer que funcione desde el archivo externo

 const img = "https://storage.googleapis.com/du-prd/books/images/9781538728529.jpg"; document.getElementById("btn1").addEventListener("click", showImage); function showImage() { document.getElementById("book1").src = img; }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¡Problema resuelto!

 const img = "https://storage.googleapis.com/du-prd/books/images/9781538728529.jpg"; document.getElementById("btn1").addEventListener("click", showImage); function showImage() { document.getElementById("book1").src = img; }

La razón por la que lo anterior no funcionó fue porque hice algo mal con window.addEventListener('load', (event) => { // all code here; }); pero después de eliminar eso, la imagen aparece en un clic de botón

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