Comunidad de diseño web y desarrollo en internet online

Como saber si una foto termino de cargarse?

Citar            
MensajeEscrito el 26 Abr 2009 05:54 pm
Buenas tardes a todos los visitantes del foro!!!


Acudo una vez más a la gran predisposicion de todos los amigos de CL, para saber si podian ayudarme con mi problema, que es el siguiente.


Yo tengo una pagina que al cargarse, ejecuta un codigo que lo que hace es abrir y cerrar un "acordion" y va mostrando diferentes imagenes cada vez que se abre/cierra. Ahora, esto lo hago cambiando el src de la imagen en cuestion (la que esta dentro del div que se abre/cierra). Ahroa, dependiendo del tamaño de la imagen, varias veces me pasa que cuando el acordion se cierra, y le ordeno al src de la img cambiar, y luego volver a abrir el acordio, la imagen todavia no ha sido cambiada y se cambia luego, mientras el acordion se esta abriendo. Y esto queda visualmente mal, porque la idea seria que una vez que vuelve a abrir el acordion, la imagen sea otra. Probe con setTimeout para abrir el acordion con delay, pero pasa lo mismo para algunas imagenes.


Entonces me puse a buscar por google a ver si encontraba alguna funcion para las imagenes que me permita saber si esta cargada o no, y encontre que existe imagen.complete. Pero de la misma forma que encontre eso, encontre comentarios diciendo que no existia nada para saber si esta o no cargada. Lo pobre, y funciona perfecto en el opera, pero no en el explorer ni firefox. Y indefectiblemente, esto no me sirve.


Luego pense en la propiedad onload, y aplicarsela a la imagen: una vez que este cargada la imagen, ejecuto el "abrir" panel. Pero esto no sabia como hacerlo, pues probe

Código :

if (imagen.onload) {
funcion()
}


pero no se me ejecuta NADA del codigo, asique supuse que la sintaxis estaba mal. Buscando, no logre encotrar nada. Asique queria saber cual era su opinion, y su conocimiento respecto del tema: existe alguna funcion que nos permita sber si una imagen ya ha terminado de cargarse?? Se puede utilizar la funcion onload para una imagen dentro del script?? Cual seria su sintaxis correcta???

Desde ya muchas gracias por su ayuda, espero poder solucionar este temita con su ayuda!! Un saludo!!


Pablo.

Por locoxchacho

6 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Abr 2009 07:17 am
esto te debe servir, sin javascript:
http://www.cristalab.com/tips/menu-css-con-imagenes-precargadas-css-sprites-c65689l/

Por chug0

Claber

136 de clabLevel



 

Perú

mozilla
Citar            
MensajeEscrito el 27 Abr 2009 07:18 am
o sino:
http://includes.cirkuit.net/includes/js/jquery/plugins/onImagesLoad/1.1/documentation/
saludos

Por chug0

Claber

136 de clabLevel



 

Perú

mozilla
Citar            
MensajeEscrito el 27 Abr 2009 01:28 pm
muchas gracias por su respuesta!!!


Creo que ambas son buenas soluciones, pero en este caso particular... me quedare con la segunda opcion. Si fuese un menu lo que tendria que cambiar, lo hubiese pensado dos veces, pero!! jajaja


muchas gracias por todo, y si logro solucionar el problema les aviso!

un saludo!

Pablo.

Por locoxchacho

6 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.