2010-06-08 15 views
1

Je développe mon propre plugin jquery de type lightbox. Tout fonctionne mais je veux cacher le contenu chargé jusqu'à ce que les images aient été chargées dans le navigateur depuis l'appel AJAX. J'ai trouvé un post similaire et j'utilise le script suivant mais la fonction setTimeout est ce qui révèle le contenu et non la fonction .load. Est-ce que j'essaie de réaliser l'impossible?Afficher le contenu AJAX après le chargement des images

$.ajax({ 
     url: 'meet/'+ pLoad + '.html', 
     success: function(data) { 
     var imageCount = $(data).filter('img').length; 
     var imagesLoaded = 0; 
     $(data).hide() 
     .appendTo('#zoom_inner') 
     .filter('img') 
     .load(function() { 
      ++imagesLoaded; 
      if (imagesLoaded >= imageCount) { 
      $('#zoom_inner').children().show(); 
      } 
      }); 
     setTimeout(function() { $('#zoom_inner').children().show() }, 5000); 
     } 
    }); 
+0

Pouvez-vous s'il vous plaît mettre en évidence votre code et appuyez sur le bouton «code» (bouton avec 1 et 0) dans la barre d'outils de l'éditeur pour nous? –

+0

Désolé pour ça ... La fonction setTimeout est là au cas où la fonction de chargement ne fonctionnerait pas. Ce qui est certainement le cas ... Voici une démo de travail, http://dev.alcostores.com/abt_career_meet.aspx – bgreater

Répondre

0

En ce qui concerne vos commentaires:

données est juste une chaîne dans votre rappel de succès - il est « html », mais il est une chaîne.

faire un nœud à utiliser:

var $images = $(data); // i.e. turn <div><img /></div> into a div with an img as a child or whatever you got 
var imageCount = $images.find('img').length; 

cool, hein?

+0

http://dev.alcostores.com/abt_career_meet.aspx – bgreater

+0

Avez-vous testé des variables? Est-ce que imageCount obtient le bon nombre? est-ce que imagesLoaded augmente? même 'alert (imagesLoaded);' après le '++ imagesLoaded;' serait utile de vérifier. –

+0

maintenant et imageCount n'augmente pas 0 Dépannage maintenant. Des idées pour lesquelles cela ne serait pas $ (data) .filter ('img'). Length; ne retournerait que 0 – bgreater

Questions connexes