Maison > interface Web > js tutoriel > Comment puis-je déterminer de manière fiable si une image a été chargée avec succès à l'aide de jQuery ?

Comment puis-je déterminer de manière fiable si une image a été chargée avec succès à l'aide de jQuery ?

Mary-Kate Olsen
Libérer: 2024-12-12 21:02:15
original
849 Les gens l'ont consulté

How Can I Reliably Determine if an Image Has Loaded Successfully Using jQuery?

Déterminer l'état de chargement d'une image avec jQuery : une solution complète

Lorsque vous utilisez jQuery pour gérer des manipulations d'images, il est essentiel de savoir si une image a chargé avec succès ou si une erreur s'est produite. Pour résoudre ce problème, jQuery propose les événements load() et error(). Cependant, un piège courant survient lorsqu'une erreur se produit avant que jQuery puisse enregistrer ces événements.

Pour résoudre ce problème, il est recommandé de vérifier la propriété complète de l'élément image DOM après avoir attribué les fonctions load() et error(). événements. Cela garantit que l'image n'a pas été chargée prématurément, même avant l'enregistrement de l'événement jQuery.

Cependant, si une erreur se produit avant l'enregistrement de l'événement jQuery, la propriété complète reste peu fiable. Dans de tels cas, une approche plus robuste est nécessaire.

Solution : Inspecter plusieurs propriétés

La solution recommandée consiste à examiner à la fois les propriétés complètes et naturelles de l'image en séquence. :

  1. Vérifiez la propriété complète. Si c'est faux, cela indique que l'image n'a peut-être pas été chargée ou qu'une erreur s'est produite.
  2. Si complete est faux, vérifiez la propriété naturalWidth. Pour les images cassées, cette propriété sera généralement 0.

En combinant ces vérifications, vous pouvez déterminer avec précision si une image a été chargée ou si une erreur a été rencontrée, même dans les situations où l'enregistrement des événements de jQuery est gêné.

Voici un exemple d'extrait de code :

function IsImageOk(img) {
    // Check if the image is already loaded
    if (!img.complete) {
        return false;
    }

    // If not loaded, check the naturalWidth property to determine if an error occurred
    if (img.naturalWidth === 0) {
        return false;
    }

    // No errors detected, assume the image is loaded successfully
    return true;
}
Copier après la connexion

En implémentant cette solution, vous pouvez gérer efficacement les images chargement dans vos applications basées sur jQuery, garantissant que les actions appropriées sont prises en fonction de l'état de l'image.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal