2010-06-07 7 views
1

Je reçois des photos de profil d'utilisateurs de Facebook, ce qui fait que leur temps de chargement varie beaucoup. Quand ils ont chargé, je veux les redimensionner. J'ai le code de redimensionnement fonctionnant correctement, mais je ne peux pas obtenir le code réel pour exécuter de manière fiable au bon moment. Selon l'information que j'ai trouvé cela devrait fonctionner:Exécuter le code jQuery lorsque des images ont été chargées à partir d'une ressource externe

$('.userPic').load(function() { 

... code to resize pictures 

}); 

Mais il ne semble pas fiable à 100%. D'autres conseils ou astuces?

Merci Nick Swan

Répondre

1

Ceci est étrange, quand la page a terminé le chargement, il a également chargé toutes les ressources internes et externes. Assurez-vous que si jquery vous donne sa largeur, le cas échéant, il est chargé:

$('.userPic').load(function() { 
    if ($(this).width()){ 
    // resize code.... 
    } 
    else{ 
    // still loading.... 
    } 
}); 

Le width() donne la largeur calculée qui est possible lorsque l'image a été chargé avec succès.

Mise à jour

Utilisez le load même au lieu de ready gestionnaire pour faire en sorte que toutes les images sont chargées avant exécute le code:

$(window).load(function(){ 
    // your code here....... 
}); 
+0

La page réelle J'essaie tout ceci est www. 3goodshots.com - voir si les images tout redimensionner à relativement petit pour vous? Thx –

+0

@ Nick Swan: Combien voulez-vous dire? Voir aussi ma réponse mise à jour s'il vous plaît. – Sarfraz

+0

Elles ne doivent pas être plus grandes que 100px de largeur ou de hauteur. Je pense que cela a pu être quelque chose à voir avec les grandes versions mises en cache. J'ai effacé les fichiers temporaires et ça semble fonctionner OK maintenant –

Questions connexes