2010-12-06 15 views

Respuesta

9

Usted puede utilizar el evento load así:

var img = document.getElementById('imgID'); 

// or 

var img = new Image; 

img.onload = function(){ 
    alert('The image has been loaded'); 
    img.src = 'image path here'; 
}; 

O cuando se utiliza el evento load del window, las imágenes se cargan entonces:

window.onload = function(){ 
    // everything is loaded now 
}; 
+0

esto no es aplicable, porque no estoy estableciendo una identificación para el img, ya que no se está colocando en un div. ¡pero gracias! – mtay

+0

@mtay: ¿Qué estás haciendo? ¿Lo estás creando con 'nueva imagen' por ejemplo? – Sarfraz

+1

@mtay: Esto es solo un ejemplo. Funciona también para el objeto 'Imagen '. – jwueller

1

Con la ayuda de este

var img = new Image(); 
// Create image 

$(img).load(function() { 
    // Image Loaded notification 
}).error(function() { 
    // Error Notification here 
}).attr({ 
    id: "Set Id", 
    src: "Image Source", 
    title: "Title Here", 
    alt: "Alt here" 
}); 
+0

Creo que aquí tienes un error de sintaxis. La función de devolución de llamada para '.error()' carece de un cierre '}'. – jwueller

4
var myImg = new Image(); 

myImg.onload = function(){ 
    alert('loaded'); 
} 

myImg.src = '../images/someImage.jpg'; 
+4

+1 para la idea, pero JavaScript distingue entre mayúsculas y minúsculas. Debe estar en carga, no en carga. –

2

JavaScript puro (sin jQuery) solución está disponible aquí para la prueba: http://jsfiddle.net/Sztxs/1/ (Basado en las respuestas existentes)

Puede integrar este principio en una función a continuación, utilizar esa función para cargar previamente en lugar de tener que escribir nueva función onload para cada imagen precargada.

Puede tener lo que desee en lugar de alerta, por supuesto.

Háganos saber si necesita ayuda adicional. :)

Cuestiones relacionadas