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

189
Vistas
El ancho de la imagen de Javascript es 0 en la carga

Tengo este código para cargar varias imágenes:

 const imageURLS = ["lvls/1.png", "assets/tileatlas.png"]; let imageCount = imageURLS.length; let assets = []; function imageLoaded(i){ imageCount--; if(imageCount == 0){ window.TILEATLAS = assets[0]; load(); } } function loadAssets(){ for(let i = 0, len = imageCount; i < len; i++){ let image = new Image(); image.src = imageURLS[i]; assets.push(image); image.onload = imageLoaded(image); } } onload = loadAssets();

pero cuando trato de acceder a las imágenes en las funciones de carga (), dice que el ancho y la altura son 0, para mí, lo que indica que las imágenes no terminaron de cargarse, pero ¿deberían hacerlo? estoy estupefacto...

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

0

El problema es esta línea:

 image.onload = imageLoaded(image);

Debido a que tiene el paréntesis, Javascript llama a la función de inmediato y espera que devuelva el resultado que se pasará a onload . Necesita algo como esto:

 const imageURLS = ["lvls/1.png", "assets/tileatlas.png"]; let imageCount = imageURLS.length; let assets = []; function imageLoaded(){ var i = this imageCount--; if(imageCount == 0){ window.TILEATLAS = assets[0]; load(); } } function loadAssets(){ for(let i = 0, len = imageCount; i < len; i++){ let image = new Image(); image.src = imageURLS[i]; assets.push(image); image.onload = imageLoaded.bind(image); } } onload = loadAssets();

La función bind establece el valor de this en la función para el argumento. De esta manera, no llamará a la función, sino que la creará.

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