Je suppose que je suis un peu préoccupé par la raison pour laquelle vous voulez attendre qu'ils soient tous chargés avant de les montrer. Obtenir du contenu rapidement est important pour la fidélisation de l'audience.
mais faire ceci:
choses Structure:
<div id="photos">
<img src="yourloading.gif" />
<ul id="photo-list">
<li><img src="" /></li>
<li><img src="" /></li>
<li><img src="" /></li>
</ul>
</div>
Ensuite, vos styles par défaut:
#photo-list { display: none; }
Ensuite, votre jQuery
$(document).ready(function() {
$("#photo-list li img:last").onload(function() {
$("#photo-list img").hide();
$("#photo-list").fadeIn();
}
}
Bien sûr, cela ne détecte si la La dernière image est chargée et en fonction de la taille de l'image, cela créera probablement une condition de concurrence où les autres images ne seront peut-être pas chargées. Probablement un meilleur moyen serait d'utiliser la méthode de données de jQuery pour définir un indicateur pendant l'événement onload puis tester pour voir si toutes les images ont cet ensemble de données, puis déclencher le masquage et le fondu.
Maintenant si vous êtes Si vous voulez faire un peu de cyclage d'images, utilisez simplement le plugin jQuery, cachez les images dans l'UL et laissez les montrer. J'utilise le cycle sur mon site web photo http://www.robmiracle.com
Est-ce que quelqu'un a des idées sur la façon dont cela peut être accompli? http://jqueryfordesigners.com/image-loading/ Cet article a beaucoup de bonnes idées, mais il nécessite que l'image soit spécifiée dans le JS. Comme ceux-ci proviennent d'une base de données, je ne peux pas utiliser cette approche. –