Maison  >  Article  >  interface Web  >  Solution à l'événement de chargement d'image non valide dans les compétences Browser_Javascript d'IE

Solution à l'événement de chargement d'image non valide dans les compétences Browser_Javascript d'IE

WBOY
WBOYoriginal
2016-05-16 16:50:481005parcourir

L'implémentation du mode histoire consiste à charger uniquement la photo actuellement parcourue et les deux photos en dessous. La zone de commentaire sera chargée et rendue lorsque la photo est chargée. Avant le chargement de l'image, une image d'un pixel sera utilisée. comme espace réservé, et une classe de chargement affichera une image d'arrière-plan de chargement, qui sera remplacée par une image réelle lorsqu'elle sera jugée être dans la zone visible. Une fois l'image chargée avec succès, la classe de chargement sera supprimée.

Le problème réside à la fin. Lors du test, il a été constaté que la classe de chargement ne peut pas être supprimée sous IE. Le code à ce moment-là était le suivant :

Copiez le code Le code est le suivant :
img.src = _src;
img.src = _src;
img.onload = function(){
_con.delClass('loading') ;
}
J'ai effectué une recherche en ligne et j'ai découvert que l'ordre de chargement et les instructions définissant src devaient être modifiés. le cache et le chargement ne sont pas du tout déclenchés. Opera a également ce problème. La modification correcte du code est la suivante

Copier le code Le code. est la suivante :
img.onload = function(){
_con. delClass('loading');
};
img.src = _src;
Ce sera normal immédiatement

Conclusion : Onload doit être écrit devant src, dites d'abord au navigateur quoi faire une fois l'image chargée, puis laissez-le charger l'image. Par conséquent, ce n'est pas que le navigateur IE ne déclenche pas l'événement onload, mais parce que la vitesse du tampon de chargement est trop rapide. Il a déjà terminé le chargement sans lui dire quoi faire après le chargement. En revanche, Firefox est évidemment plus intelligent. Après avoir ajouté l'événement onload, le navigateur Firefox détectera si l'image existe déjà dans le buffer. Si c'est le cas, il déclenchera directement cet événement !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn