IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Une image de chargement pour un lot d'image en chargement.


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Par défaut Une image de chargement pour un lot d'image en chargement.
    Bonjour,

    J'ai un petit problème, je vous le présente :

    J'ai 98 images à afficher sur ma page.
    Seulement, le temps de chargement peu paraître long pour certaines connexion bas débit.

    Serait-il possible de mettre un message ou une image de chargement en attendant que les 98 images finissent toutes de se charger ?

    Merci à vous!

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    mieux , une image de load sur chaque image , et afficher l'image une fois chargée

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    j'ai déja fait ce genre de chose ...

    perso j'ai traité ça en testant dans un setInterval le complete de toutes les images

    on prend une variable flag que l'on mets à 0 en debut de boucle
    puis on boucle sur la collection document.images
    on teste le complete de chaque image et si il est true on incrémente le flag
    à la fin de la boucle on teste si le flag vaut au length de document.images
    On ajoute éventuellement un nombre max de boucle pour ne pas bloque la page
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Par défaut
    Merci le chomeur pour l'indication, mais l'idée de SpaceFrog me tente plus.

    SpaceFrog > J'essaye de créer ce que tu m'a dit, j'éditerais le topic à l'avenir pour présenter ce que j'ai fait, et voir éventuellement ensemble ce qui n'ira pas.

    EDIT :
    Voici ce que cela donne, et je suis un peu bloqué pour te dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    var flag = 0;
     
    function load()
    {
    	var listImg = document.images;
     
    	for(var i = 0; i < listImg.length; i++) 
    	{
    		if(document.images[i].complete) flag += 1;
    	}
     
    	if (flag == listImg.length) /* je fait quoi maintenant ?? */
    }
     
    setInterval("load()", 500);

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    tu oeux par exemple au debut du lancement du setInterval rendre un div visible aves un pourcentage de chargement

    flag/images.length*100

    une fois le ration=100% tu fais un clearInterval et tu masqus le div
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    perso j'ai traité ça en testant dans un setInterval le complete de toutes les images

    on prend une variable flag que l'on mets à 0 en debut de boucle
    puis on boucle sur la collection document.images
    on teste le complete de chaque image et si il est true on incrémente le flag
    à la fin de la boucle on teste si le flag vaut au length de document.images
    On ajoute éventuellement un nombre max de boucle pour ne pas bloque la page
    Ce serait pas plus efficace d'incrémenter ton flag sur le onload ou oncomplete de chaque image et de ne tester que la valeur du flag dans le setInterval ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    le set interval est lancé sur le onload
    le flag est donc incrémenté et testé à la fin de chaque itération
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Oui, j'avais bien compris ça ! Donc à chaque itération du setInterval, tu passes en revue toute la collection Images du document, ce qui peut être un peu lourd. Ce que je propose, c'est d'incrémenter le flag sur le onload de chaque image :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image.jpg" alt="image" onload="flag++" />
    comme ça, ton setInterval (lancé lui sur le onload de la page, n'aura qu'à tester la valeur d'une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function check(){
        if(flag==98){
            document.getElementById('overlay').style.display = 'none';
        }
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. image de fond pour une JList
    Par barbiche dans le forum Composants
    Réponses: 1
    Dernier message: 04/05/2007, 12h10
  2. peut on créer une base de données pour image?
    Par adamalbert dans le forum Access
    Réponses: 3
    Dernier message: 26/05/2006, 16h10
  3. mettre une image en mémoire pour réutilisation
    Par jani dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/11/2005, 15h14
  4. Lien pour TELECHARGER une image plutôt que pour l'ouvrir
    Par nabab dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/01/2005, 18h07
  5. Une ProgressBar pour un rafraichissement d'image
    Par JakeGrafton dans le forum Composants VCL
    Réponses: 8
    Dernier message: 06/01/2004, 22h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo