2010-03-04 7 views
0

Dans le DOM, je charge une image Google Map statique. Lorsque le document est prêt avec jQuery, j'ai parfois besoin de remplacer cette image par une version plus grande. Le problème est que dans IE le CPU va whooooooo parce que IE cherche toujours à charger l'image initiale sans succès. Y a-t-il un moyen d'annuler ou d'effacer la charge précédente?jQuery remplacer la source d'image dans IE

EDIT: Je dois dire que j'utilise .html() dans une fonction lorsque SWFObject ne sont pas intégrées avec succès ..

Je ne suis pas en mesure de reproduire le problème dans l'exemple suivant, mais au fond, j'utilise ceci:

JS:

$(document).ready(function() { 
    $("img#myImage").html('<img id="myImage" src="images/002.jpg" />'); 
}); 

HTML

<img id="myImage" src="images/001.jpg" /> 
+0

Pourquoi utilisez-vous la charge? Vous ne remplacez pas le contenu d'un noeud HTML et le navigateur démarre automatiquement lorsque src est modifié. – Johnco

+0

Hmmm, est-ce que la charge est réellement nécessaire dans ce cas, car elle devrait être allumée sur dom ready, et donc peut-être avant que les images soient chargées de toute façon? – Kzqai

+0

désolé, j'ai fait une erreur dans mon exemple, pas .load(), j'utilise .html() – FFish

Répondre

3

012 La fonctionremplace le code HTML à l'intérieur de la balise img. Bien sûr, il n'y a pas de code HTML dans la balise img. Au lieu de cela, utilisez .attr():

$("img#myImage").attr('src', 'images/002.jpg'); 

Appeler immédiatement change la source de l'image et le navigateur doit commencer à charger la nouvelle image.

+1

résolu, acclamations Aaron – FFish

+0

Est-ce que ça marche aussi dans IE6? – svirk