Bonjour, voici un bout de code :

$(document).ready(function(){
 
    loaded = 0;
    $count = 0;
    $count = $("img").length;
    $container = $("<div/>").attr("id", "hide");
     
    $container.appendTo($("body"));
    $("img").each(function(){
        $("<img/>")
            .attr("src", $(this).attr("src"))
            .on("load error", function(){
                loaded++;
                alert(loaded); // retourne 4
            })
            .appendTo($container)
    });
     
    alert(loaded); // retourne 0
    /*
    if($count == $loaded){
        setTimeout(function(){
            $("#container").remove();
        }, 500);
    };
    */
     
 
});

Mon problème, pourquoi ma 2° alerte ne retourne pas 4 ?

Merci d'avance. :)

3 réponses


Est ce que ton code fonctionne jusqu'à là ? (le appendTo ansi que la boucle, et la première alerte )

Bonjour,

Pourrais tu faire un fidle de ta page? qu'on voit le résultat avec le html et le reste ! :)

Bonjour, l'affiche de ta "seconde" alert et l'affichage de ta première se font de manière asynchrone.

Il est probable que la deuxième se déclenche avant les premières.