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 :

settimeout passage de paramètre


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 37
    Points : 28
    Points
    28
    Par défaut settimeout passage de paramètre
    Bonjour,

    Je cherche à passer une variable dans mon settimeout.
    Mais il ne la prend pas : j'ai simplifié pour l'exemple :

    que dois-je faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function Rebour(z) 
    {
    	Z=Z+1;
    		Affiche.innerHTML = Z
    	}
    	tRebour=setTimeout ("Rebour(Z)", 1000 );
    }
     
    Rebour("12");

  2. #2
    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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    JavaScript étant sensible à la casse,

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Merci, Effectivement mais le pb ne vient pas de la. C'est une erreur lors de la simplification de ma fonction...

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Tu n'es pas forcé de passer par un argument, tu peux utiliser une variable d'un scope parent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var z=12;
    function rebour() {
      z++;
      affiche.innerHTML = z;
      tRebour=setTimeout (rebour, 1000 );
    }
     
    rebour();

  5. #5
    Invité
    Invité(e)
    Par défaut
    il y a trois posibilité

    avec une fonction anonyme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function Rebour(Z) 
    {
    	Z=Z+1;
    		Affiche.innerHTML = Z
    	}
    	tRebour=setTimeout (function(){Rebour(Z)}, 1000 );
    }
     
    Rebour(12);
    celle la elle est moche car elle force l'utilisation de eval

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function Rebour(Z) 
    {
    	Z=Z+1;
    		Affiche.innerHTML = Z
    	}
    	tRebour=setTimeout ("Rebour("+Z+")", 1000 );
    }
     
    Rebour(12);
    et enfin la derniere qui est normalisé mais de mémoire ie ne la supporte qu'a partir de ie 10

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function Rebour(Z) 
    {
    	Z=Z+1;
    		Affiche.innerHTML = Z
    	}
    	tRebour=setTimeout (Rebour, 1000,Z );
    }
     
    Rebour(12);
    et il y a une petite erreur il ne faut pas de guillemet a 12 sinon c'est considéré comme une chaine de carractere


  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Merci,
    Merci beaucoup!

    C'est bon ça marche!

  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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    sinon une closure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tRebour=setTimeout (function(){Rebour(Z)}, 1000 );

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

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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