Bonjour,

J'utilise beaucoup de jquery et ajax en se moment est j'ai un soucis car sur ma page d'accueil je choisie la langue du site et une fois sélection la page suivante est appeler en ajax. le loader fonctionne bien mais le loader s’arrête avant l'affichage complet de image se qui fait que une animation enlève la première page et les images de la seconde ne sont pas encore charger. Le soucis c'est que tout le site fonctionne comme sa et je ne trouve pas encore d'évent qui permet de détecter le chargement complet.

Merci d'avance pour ceux qui prendront le temps de lire.

14 réponses


quelle est la tête de ton loader?
normalement quand la fonction success est appelée tout a été chargé! les images par contre ce n'est pas le loader qui les charge (il ne s'occupe que du code Html normalement) donc le problème peut venir d'ailleurs.

galyb
Auteur
var i = $('img').length;
      var a = 0;

    $('img').each(function(){
        a = a + 1;
        var url = $(this).attr("src");

        var img = new Image();
        img.src=url;
        img.onload = function()
                                {

                                  if(a == i){
                                    Mon animation qui permet d'afficher la page.
                                  }
                                  });
                                  }

                                };
    });
galyb
Auteur

Mais j'affiche des images de très bonne qualité et le problème c'est qu'elles n’apparaissent pas tout de suite. il faut attendre 2 3 seconde avant qu'elles n'apparaissent pas.

Je pensais que le loader servait a charger la page suivante car tu dit "la page suivante est charger en ajax". Du coup c'est quoi le code complet?.
Si tu affiche la page directement (pas en ajax) les images s'affichent?

galyb
Auteur

Je peut pas donné le code en entier il est long mais je charge en ajax la page suivant et elle insérer dans dans mon body, mais elle reste cacher pas une div que je veux animer une fois le chargement complet des images. Mais j'ai essayer plusieurs moyen de savoir quand ces images sont charger et rien y fait. Quand ma div s'anime mon image met encore une ou deux seconde avant de s'afficher. Pourtant j'utilise la méthode "img.onload" donc bon si quelqu'un a quelque chose à proposer?

Si tu affiche la div (contenant la page suivante) brutalement (sans préchargement des images), les images mettent un peu de temps a s'affiché mais esque tout s'affiche correctement?
en gros si j'ai compris le script qui anime l'image commence a animé l'image pendant qu'elle charge du coup l'animation se fait avec une demi-image et ensuite le chargement de l'image se finit apres l'animation?

ou alors utilise un plugin genre http://www.appelsiini.net/projects/lazyload ^^

galyb
Auteur

Oui je l'ai vue sur internet mais impossible d'accéder au site ... erreur 403 :(
la je fini l'intégration et je vais me faire un système de redimensionnement des images dans le backoffice et en js un petit script qui va choisir la bonne image en fonction de la taille du device. En espèrent que sa fonctionner.

A moins que tu sache ou je peut trouver le script de lazyload?

Je me permet d’écrire dans ce post pour ne pas créer un nouveau sujet car c'est juste une question a la con que je vais poser.

Pourquoi quand je charge une page en ajax tout le javascript n'est pas chargé?

Pour voir le probleme

Normalement dans le section blog quand on clic sur catégorie la div s'ouvre ou même avec la croix qui est cachée par défaut.
Je comprend pas.

galyb
Auteur

Déjà beau site enfin l'animation est très simpat mise à part quelque beug javascript. Pour se qui est de ton problème as tu utilisé .live? Et qu'elle cms ou frame work tu vas utilisé?

J'ai vue un truc qui peut peut être du a ton problème

$("#cat-drop, .cross").click

Mette plutôt

$("#cat-drop, .cross").live("click",

sur le site http://www.appelsiini.net/projects/lazyload en base dans la partie download le lien marche bien!!

galyb
Auteur

Merci beaucoup. j'ai chercher longtemps sur le web les sources mais impossible.

@galyb Merci, ouui il y beaucoup de bug un code même pas optimisé. Je ne connais pas .live enfin mais si. Normalement, Wordpresse, pourquoi?

galyb
Auteur

Nan c'était pour savoir, j'aime beaucoup l'animation et chapeau. J'ai vue qu'on a le même age mais j'ai pas encore se level pour faire se genre anime ^^