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 de div avec temporisation


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Points : 145
    Points
    145
    Par défaut Affichage de div avec temporisation
    Bonjour,

    Je cherche à faire un diaporama.
    J'ai chargé toutes mes images dans une suite de div (hidden).
    En suite je les affiche et cache successivement avec une pause.
    Mon code :
    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
    function diapo(i)
    {
    	montre("haut2[0]");	
    	for(j=1;j<i;j++)
    	{
    		k = j - 1;
    		setTimeout("cache('haut2["+k+"]')",1000);
    		alert(k);
    		montre("haut2["+j+"]");	
    	}
    	k = j - 1;
    	setTimeout("cache('haut2["+k+"]')",1000);
    	alert(k);
    	setTimeout("diapo("+i+")",1000);
    }
    J'ai inséré des alert pour suivre pas à pas le script et ça fonctionne.
    Mais lorsque j'enlève les "alert" il ne se passe a priori rien.
    J'ai lu sur le forum que le SetTimeout n'empèchait pas le traitement de se dérouler.
    Comment paramétrer une temporisation ?

    Merci pour vos idées.

  2. #2
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    tu veux le faire en boucle ?
    passe plutot par un setInterval ...
    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 !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Points : 145
    Points
    145
    Par défaut
    Citation Envoyé par SpaceFrog
    tu veux le faire en boucle ?
    passe plutot par un setInterval ...
    Les photos s'affichent mais la temporisation d'une seconde n'est pas respectée.
    L'affichage défile beaucoup plus vite même si je mets 3 secondes.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Points : 145
    Points
    145
    Par défaut
    Je complète ma réponse avec le code modifié.
    Commande lancée à partir du prog php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ret.="<script>setInterval('diapo(\"".$i."\")',10);</script>";
    Le code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function diapo(i)
    {
    	montre("haut2[0]");	
    	for(j=1;j<i;j++)
    	{
    		k = j - 1;
    		setTimeout("cache('haut2["+k+"]')",1000);
    //		alert(k);
    		montre("haut2["+j+"]");	
    	}
    	k = j - 1;
    	setTimeout("cache('haut2["+k+"]')",1000);
    //	alert(k);
    }

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Points : 145
    Points
    145
    Par défaut
    Citation Envoyé par licorne
    Je complète ma réponse avec le code modifié.
    Commande lancée à partir du prog php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ret.="<script>setInterval('diapo(\"".$i."\")',10);</script>";
    Le code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function diapo(i)
    {
    	montre("haut2[0]");	
    	for(j=1;j<i;j++)
    	{
    		k = j - 1;
    		setTimeout("cache('haut2["+k+"]')",1000);
    //		alert(k);
    		montre("haut2["+j+"]");	
    	}
    	k = j - 1;
    	setTimeout("cache('haut2["+k+"]')",1000);
    //	alert(k);
    }
    Je me permets de relancer ma demande.

    Dans la mesure où le traitement ne fait pas de pause d'1 seconde à chaque affichage de photo comment marche le setTimeout ?

    Merci pour vos suggestions.

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par licorne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ret.="<script>setInterval('diapo(\"".$i."\")',10);</script>";
    ! *100

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Points : 145
    Points
    145
    Par défaut
    Citation Envoyé par Matthieu2000
    ! *100
    La tempo 100 ne change rien.

  8. #8
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ret.="<script>setInterval('diapo(\"".$i."\")',1000);</script>";
     
    indice=1;
    function diapo(i)
    {
    cache('haut2['+indice+']');
    indice++;
    if(indice==i){indice=1;}
    montre("haut2["+indice+"]");	
    }
    quelque chose comme cela...

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 401
    Points : 145
    Points
    145
    Par défaut
    Citation Envoyé par Matthieu2000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ret.="<script>setInterval('diapo(\"".$i."\")',1000);</script>";
     
    indice=1;
    function diapo(i)
    {
    cache('haut2['+indice+']');
    indice++;
    if(indice==i){indice=1;}
    montre("haut2["+indice+"]");	
    }
    quelque chose comme cela...
    Simple comme bonjour...

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage d'une div avec une fonction Javascript
    Par maxime-mb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/01/2012, 11h09
  2. [AJAX] AJAX affichage DIV avec nom dynamique
    Par Orelz dans le forum AJAX
    Réponses: 2
    Dernier message: 30/07/2009, 10h02
  3. pbs d'affichage de 2 div avec decalage automatique
    Par bonano dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 19/05/2009, 09h45
  4. Probleme affichage background d'un div avec CSS
    Par elt93 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/07/2008, 19h26

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