Question

Je charge du code HTML à partir d'une requête Ajax et de certaines balises img .

Je dois savoir quand les images chargées dans le fichier ajax sont complètement chargées pour redimensionner le conteneur. Je ne sais pas combien d'images sont dans le résultat, je ne peux donc pas simplement vérifier la valeur .complete .

Connaissez-vous une solution pour cela?

Merci!

Leandro

Était-ce utile?

La solution

Si vous utilisez jQuery, la commande $ (window) .load () peut configurer une fonction à appeler une fois toutes les images chargées, comme suit:

$(window).load(
    function() {
        // weave your magic here.
    }
);

Si vous n'utilisez pas jQuery, je ferais simplement ce que j'ai fait lorsque je veux un petit élément de fonctionnalité: téléchargez-le et examinez le code source pour voir comment il fonctionne. . Alors fais ça: -)

Autres conseils

Les requêtes XMLHTTP ont des propriétés que vous pouvez utiliser pour déterminer le moment où le chargement est terminé. Si vous utilisez directement javascript, vous devez attribuer une fonction à l'événement onreadystatechange. Ceci est appelé chaque fois que l'état change. Les états sont stockés dans ReadyState et sont: 0 non initié 1 Chargement 2 chargé 3 interactif 4 complète

Dans votre fonction, vérifiez que le statut est 4 et appelez les autres fonctions requises

JQuery contient des événements qui vous indiquent quand certaines choses se sont produites. Afficher la documentation AJAX

Ok, grâce à Pax, j'ai trouvé la solution.

À propos de succès de la demande ajax (à l'aide de jQuery), j'ai ajouté le code suivant:


$('img', this).load(function() {
    resize_element(this);
});

Merci à vous deux!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top