Je viens de terminer la mise en place d'une simple galerie jQuery avec quelques transitions évanouissement comme vu here. Tout fonctionne bien dans tous les navigateurs - sauf que le "préchargement d'image" ne fonctionne pas sur le premier chargement de FireFox (fonctionne dans tous les autres navigateurs). Les images restent à 0% d'opacité dans Firefox. Pas certain de pourquoi.jQuery image précharge ne fonctionne pas première fois dans FireFox
Voici le code de précharge.
$(document).ready(function(){
//--------PRELOAD LOAD IMAGES--------\\
$('img').load(function() {
//once image has loaded fade in image
$(this).animate({opacity : 1.0}, 1000);
//kill padding on last thumbnail of each line
$('#headshots img').eq(3).css({'padding-right' : '0'});
$('#ports img').eq(3).css({'padding-right' : '0'});
$('#ports img').eq(7).css({'padding-right' : '0'});
});
});
Merci d'avance pour toute aide.
fonctionne comme un charme je ne savais pas que vous pourriez chaîne comme ça dans jQuery-vous nous expliquer. comment le dernier chaque appel (fonction() à la fin de la fonction de charge fonctionne? Merci! – mattelliottIT
@mattelliottIT - le dernier '.each' itère sur chaque image, vérifiant que la propriété' .complete' a été définie - et si c'est le cas, déclenche manuellement l'événement '.load'. En règle générale, lorsqu'une image est '.complete', son événement' .load' ne se déclenche pas, d'où l'intervention manuelle pour vérifier que l'image est terminée et déclencher l'événement load en conséquence. Imaginez que l'une des images a déjà été mise en cache par le navigateur et qu'elle soit immédiatement extraite du cache sans que l'événement onload ne soit déclenché. Votre gestionnaire d'événement '.load' ne se déclenchera pas, donc votre page ne se comportera pas comme prévu. :) – karim79
Ah Got It. Merci d'avoir pris le temps d'expliquer cela. – mattelliottIT