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 :

Affichage d'image pendant un certain temps


Sujet :

JavaScript

  1. #21
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Je débarque mais je n'ai pas tout suivi...

    - Tu es sûr que c'est ce que tu veux à la ligne 6 et 8 ? Cela me semble étrange, ne manque-t-il pas le caractère ">" ?
    yep j'avais pas vu merci
    Citation Envoyé par Beginner. Voir le message
    - Sinon tu écris dans les fichiers en Java, c'est ça ? Où/avec quoi affiches-tu la page html ?
    oui j'envoie avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Desktop.getDesktop().browse(apercu.toURI());
    Citation Envoyé par Beginner. Voir le message
    - Par contre je pense que ce serait mieux de mettre d'abord tes fonctions au point et ensuite seulement (une fois que ça marche) écrire le code dans des fichiers...
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    Ton code ne vaut pas grand chose : tu redéfinis la variable "test" à chaque boucle,...

    CONSEIL : avant de le mettre dans ton code Java -> TESTE DIRECTEMENT le code HTML / Javascript !

    => CHERCHE et TROUVE un code fonctionnel * ("du commerce", vu que tes connaissances en JS semblent limitées), que tu pourras ENSUITE intégrer à ton code Java.


    * Celui proposé par SpaceFrog, par exemple
    bonne idée !

    Citation Envoyé par Kennel sébastien Voir le message
    Pense aussi à fermé l'écriture de ton code Java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fw.write("</BODY>\n </HTML>");
    fw.close();
    Sinon au niveau du temps la première image apparait au bout de 45 secondes or que la seconde au bout de 10 secondes…
    oui je ferme avec close() mais je l'ai juste pas mis dans le code
    Citation Envoyé par Kennel sébastien Voir le message
    Sinon au niveau du temps la première image apparait au bout de 45 secondes or que la seconde au bout de 10 secondes…
    ah.... mais le but c'est d'afficher la première image durant 45 secondes pas apres 45 secondes et puis la 2eme apres les 45 secondes pendant 10 secondes

  2. #22
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    Dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    setTimeout(function(){document.getElementById('img0').style.display = 'none';document.getElementById('img1').style.display = 'block';},45000);</script>
    setTimeout(function(){document.getElementById('img1').style.display = 'none';},55000);
    Notons aussi que la variable « test » est en fait inutile en JS.

    Et la boucle en Java aussi, car tu n'as qu'un parcour en fait.

    Enfin il faut mettre le « catch » du « try » en Java, sous peine d’avertissement…

  3. #23
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par Java Ou Javapas Voir le message

    ah.... mais le but c'est d'afficher la première image durant 45 secondes pas apres 45 secondes et puis la 2eme apres les 45 secondes pendant 10 secondes
    Ce n'est pas très difficile en JS (sans Jquery ou autres). Il y a ce fil qui pourrait t'aider : Mettre un slider en pause au survol de la souris.

    Il y a plusieurs exemples que tu peux tester directement (regarde les JSbin)...

    Il y a la pause et éventuellement les flèches en plus mais si tu n'utilises pas cela c'est encore plus simple...

  4. #24
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Est-ce que le nombre d'images est variable ?

    Si j'ai bien compris tu veux afficher tes n images une par une et passer d'une image à l'autre toute les n1 secondes, c'est bien ça ?

    Ensuite quand on arrive à la dernière image, que veux-tu faire ? Est-ce que tu veux que cela recommence en partant de la première image et ce indéfiniment ?

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Est-ce que le nombre d'images est variable ?

    Si j'ai bien compris tu veux afficher tes n images une par une et passer d'une image à l'autre toute les n1 secondes, c'est bien ça ?

    Ensuite quand on arrive à la dernière image, que veux-tu faire ? Est-ce que tu veux que cela recommence en partant de la première image et ce indéfiniment ?
    oui le nombre est variable, le temps aussi, quand on arrive a la fin il faudrait un petit texte genre "c'est finit" j''ai essaye avec jquery la méthode .cycle() mais vu que les durée sont variable...
    et puis si la ca fonctionne avec les images j'ai l'intention de rajouter des vidéos en plus (j'ai une variable qui me dit si c'est une video ou une image, donc si 2 images, une video puis 1 images ca s'affichera un par un, mais on y est pas encore)

  6. #26
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    En dehors et avant la boucle tu crées une variable temps en Java dont tu rajoutes à chaque fois le délai de l'image.

    En dehors et après la boucle tu as plus qu'à faire un « innerHTML » en JS sur la div avec le message « c'est finit ».

    Edit : Petite précision, il faut de nouveau utiliser le « setTimeout » pour le message de fin…

  7. #27
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Exemple en JS pur et avec trois images : http://jsbin.com/ducawikuva/edit?html,output

    Ce n'est pas très long...

    EDIT : Ou plus court et sans balise h2 : http://jsbin.com/nosizorubu/edit?html,output

  8. #28
    Invité
    Invité(e)
    Par défaut
    ...et tant qu'à (bien) faire : « c'est fini »

  9. #29
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Au début j'avais écrit "c'est fini" et ayant lu cela :
    Citation Envoyé par Java Ou Javapas Voir le message
    ... quand on arrive a la fin il faudrait un petit texte genre "c'est finit" j''ai essaye avec jquery la méthode .cycle() mais vu que les durée sont variable...
    j'ai modifié et ajouté un "t"... J'exécute bêtement...

  10. #30
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Exemple en JS pur et avec trois images : http://jsbin.com/ducawikuva/edit?html,output

    Ce n'est pas très long...

    EDIT : Ou plus court et sans balise h2 : http://jsbin.com/nosizorubu/edit?html,output
    WOW Merci beaucoup , et peut on afficher des durées différentes pour chaque image ?
    par contre les images s'affichent les unes a la suite des autres
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <!DOCTYPE html><html><head><title>Apercu du Scenario</title>  </head>
    <body> 
    <div id="container" style="max-width:500px">
    <img class="mySlides" src="C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg"style="width:100%">
    <img class="mySlides" src="C:\Users\Public\Pictures\Sample Pictures\Koala.jpg"style="width:100%">
    <img class="mySlides" src="C:\Users\Public\Pictures\Sample Pictures\Tulips.jpg"style="width:100%">
    </div>
    <script> 
    var myIndex=0;
    var duree=1500;
    carousel();
    function carousel()
    {
    var x=document.getElementsByClassName("mySlides");
    for(var i=0;i<x.lenght;i++){
    x[i].style.display="none";
    }if(myIndex>=x.lenght){
    document.getElementById("container").innerHTML="c'est fini";
    return;
    }
    x[myIndex++].style.display="block";
    setTimeout(carousel,duree);
    }</script></body>
     </html>
    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
    16
    17
    18
    19
    20
        void apercuHTML() throws IOException{
            int i =0;
            //création du fichier html
            File apercu =new File("Apercu.html");
            try(FileWriter fw = new FileWriter (apercu)){
                //on écrit le début de l'html
                fw.write("<!DOCTYPE html><html><head><title>Apercu du Scenario</title>  </head><body> "
                        + "<div id=\"container\" style=\"max-width:500px\">");
                for(ElementInit elem : tabElement){
                    //script pour afficher chaque image un certain temps
                    fw.write("<img class=\"mySlides\" src=\""+elem.cheminFichier+"\"style=\"width:100%\">");
                }
                fw.write("</div><script> var myIndex=0;var duree=1500;carousel();function carousel(){var x=document.getElementsByClassName(\"mySlides\");"
                        + "for(var i=0;i<x.lenght;i++){x[i].style.display=\"none\";}if(myIndex>=x.lenght){document.getElementById(\"container\").innerHTML=\"c'est fini\";return;}"
                        + "x[myIndex++].style.display=\"block\";setTimeout(carousel,duree);}</script>");
                fw.write("</body>\n </html>");
                fw.close();
                Desktop.getDesktop().browse(apercu.toURI());
            }
        }

  11. #31
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Ben c'est pour savoir tout ça que je t'avais demandé ceci :
    Citation Envoyé par Beginner. Voir le message
    Si j'ai bien compris tu veux afficher tes n images une par une et passer d'une image à l'autre toute les n1 secondes, c'est bien ça ?
    Et là tu voudrais une durée spécifique pour chaque image, c'est ça ? Il faudrait les mettre dans un tableau par exemple...
    Citation Envoyé par Java Ou Javapas Voir le message
    par contre les images s'affichent les unes a la suite des autres
    Ben oui, ce n'est pas ce que tu voulais ?

  12. #32
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Ben c'est pour savoir tout ça que je t'avais demandé ceci :

    Et là tu voudrais une durée spécifique pour chaque image, c'est ça ? Il faudrait les mettre dans un tableau par exemple...
    Ben oui, ce n'est pas ce que tu voulais ?
    oui une durée spécifique pour chaque image (je t'avais répondu dans un message précedent )
    les durée sont déjà dans un tableau d'objet (tabElement => -elem.chemFichier : le chemin de l'image -elem.duree : la durée d'affichage de l'image
    je voulais dire qu'elle s'affiche les unes en dessous des autres

  13. #33
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    À la suite ? Tu veux dire à coter ?

    Encapsule simplement tes images dans une balise p ou alors place des balises br…

  14. #34
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Erreur : x.length

  15. #35
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    Erreur : x.length
    j'avais pas vu merci

  16. #36
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par Java Ou Javapas Voir le message
    oui une durée spécifique pour chaque image (je t'avais répondu dans un message précedent ;) )
    J'avais compris une durée variable mais pas une durée spécifique pour chaque image...

    Citation Envoyé par Java Ou Javapas Voir le message
    je voulais dire qu'elle s'affiche les unes en dessous des autres :)
    Chez moi elles s'affichent une par une au même endroit... Ce n'est pas ce que tu voulais ?

  17. #37
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    J'avais compris une durée variable mais pas une durée spécifique pour chaque image...
    ah ok....je me suis mal exprimée excuse moi c'est en effet une durée spécifiquue

    Citation Envoyé par Beginner. Voir le message
    Chez moi elles s'affichent une par une au même endroit... Tu as testé le code avec quel navigateur ?
    c'etait a cause x.length j'avais marqué x.lenght mais maintenant c'est bon !!!

  18. #38
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    On donc il faut juste la durée spécifique pour chaque image, c'est ça ?

    Si oui tu peux tester ça : http://jsbin.com/pihucawova/edit?html,output

  19. #39
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    J'ai remarqué qu'au début toutes les images sont affichées (quand ça va vite on le voit pas mais dans certains cas cela pourrait se voir (beaucoup d'images, grosses images...) donc j'ai modifié en ajoutant du css dans la balise <style> et j'en ai profité pour mettre tous les styles inlines dedans ce qui fait que c'est plus court au final car on évite de répéter le style pour chaque image...

    Voici le lien : http://jsbin.com/wofoboriva/1/edit?html,output

  20. #40
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Bonjour,
    Merci beaucoup pour votre aide !! les images s'affichent durant le temps voulu et j'ai même réussi a mettre la vidéo

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. afficher une image pendant un certain temps sur une page
    Par fraizas77 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/06/2009, 16h53
  2. Comment afficher un message pendant un certain temps ?
    Par potili2 dans le forum Débuter
    Réponses: 4
    Dernier message: 16/01/2008, 11h08
  3. Afficher pendant un certain temps un popup menu
    Par dahu29 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 30/05/2006, 14h27
  4. [Thread] Invocation méthode pendant un certain temps
    Par the java lover dans le forum Concurrence et multi-thread
    Réponses: 11
    Dernier message: 01/02/2006, 18h11

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