2012-12-13 6 views
0

Je suis en train de détecter quand un groupe d'images a été chargé dans un div.vérification des images chargées jQuery

if($("#venues-page").get(0)) { 
    var img = $('#venues-page .venues img'); 
    var length = img.length; 
    img.load(function(){ 
     length--; 
     console.log(length); 
     if(length === 0){ 
      console.log("here"); 
      $(".lattice").fadeIn(1000); 
      $("#venues .venue a").css("display", "block"); 
      $("#venues-page .venues img").not('.lattice').fadeIn(500); 
     } 
    }); 
} 

Cela semble fonctionner correctement lorsque les images sont mises en cache dans le navigateur, si l'utilisateur n'a pas visted le site avant que les images ne semblent jamais toute la charge sans rafraîchir après rafraîchissement après rafraîchissement.

Y at-il un meilleur pour vous assurer que toutes les images sont chargées dans un div, et faire des choses sur cette base?

+0

J'imagine que le problème est que la variable 'longueur' n'est pas définie lorsque le rappel est exécuté - essayez d'utiliser une variable globale et testez-la – ManseUK

+0

Consultez les réponses sur http://stackoverflow.com/questions/12905038/ jquery-alternative-à-bindload-pour-utiliser-avec-images – Nelson

Répondre

0

peut-être manquant un peu de code ici.

1) Votre code doit être effectué dans

$(function(){ 


}); 

2) Au lieu de

img.load(function() { 

essayer

img.one("load", function() { 
OR 
img.on("load", function() { 

J'ai essayé en utilisant votre code et il a bien fonctionné. Faites-moi savoir si vous rencontrez toujours des problèmes.

Questions connexes