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.