Foros del Web » Programando para Internet » Javascript »

Continuar script una si y solo si finalizó la carga de una imagen

Estas en el tema de Continuar script una si y solo si finalizó la carga de una imagen en el foro de Javascript en Foros del Web. He probado image.onload = function () {} también while (image.complete == false){} // esto produce error en los navegadores ¿como harían ustedes?...
  #1 (permalink)  
Antiguo 18/07/2012, 18:51
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Continuar script una si y solo si finalizó la carga de una imagen

He probado

image.onload = function () {}

también

while (image.complete == false){} // esto produce error en los navegadores

¿como harían ustedes?
  #2 (permalink)  
Antiguo 18/07/2012, 19:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Continuar script una si y solo si finalizó la carga de una imagen

Hola:

El evento load modifica el atributo complete, así que podrías usar cualquiera de los 2 métodos... pero el segundo deberías temporizarlo (setInterval/setTimeout).

Se me ocurre que no referencies debidamente esa imagen . Y un consejo, que tal vez no importe en este caso: evita usar nombres similares a las palabras reservadas... por ejemplo: image.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/07/2012, 20:20
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Continuar script una si y solo si finalizó la carga de una imagen

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

El evento load modifica el atributo complete, así que podrías usar cualquiera de los 2 métodos... pero el segundo deberías temporizarlo (setInterval/setTimeout).

Se me ocurre que no referencies debidamente esa imagen . Y un consejo, que tal vez no importe en este caso: evita usar nombres similares a las palabras reservadas... por ejemplo: image.

Saludos
muchas gracias por tu respuesta caricatos, puedo haber creado confusión al haber escrito image, pero entiendo el punto.

El problema está en que parece que no domino bien el bucle con un temporizador, ya que continuamente tengo conflictos con el navegador,

Código Javascript:
Ver original
  1. while (varimagen.complete==false){
  2.         setInterval("var a = 10;",10000);
  3. }
  #4 (permalink)  
Antiguo 18/07/2012, 23:18
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Continuar script una si y solo si finalizó la carga de una imagen

ya lo solucioné, para no complicarme con los milisegundos, hice 2 funciones, una que carga las imágenes y otra que cuenta cuantas imágenes cargó, cuando el contador llega a la cantidad de imágenes que son, ejecuta el programa principal (main).
Para aquel que le interese:

Código Javascript:
Ver original
  1. nameimages = new Array('imagen0','imagen1','imagen2','imagenn');
  2.     images = {};
  3.     loadAllImages();
  4.  
  5.     function loadAllImages(){
  6.         for (name in nameimages){
  7.             images[nameimages[name]] = new Image();
  8.             images[nameimages[name]].onload = function() {
  9.                                     resourceLoaded();
  10.                                     }
  11.             images[nameimages[name]].src = "images/" + nameimages[name] + ".png";
  12.         }
  13.     }
  14.  
  15.     var totalResources = nameimages.length;
  16.     var numResourcesLoaded = 0;
  17.  
  18.     function resourceLoaded() {
  19.       numResourcesLoaded += 1;
  20.       if(numResourcesLoaded === totalResources) {
  21.         main();
  22.       }
  23.     }

lo saque de aquí: http://www.williammalone.com/article...e-character/1/

Etiquetas: continuar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:59.