Javascript setInterval, passage de param ?
Résolu/Fermé
monkey_monk
Messages postés
641
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
10 août 2012
-
30 oct. 2009 à 16:35
monkey_monk Messages postés 641 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 10 août 2012 - 30 oct. 2009 à 18:02
monkey_monk Messages postés 641 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 10 août 2012 - 30 oct. 2009 à 18:02
A voir également:
- Javascript setInterval, passage de param ?
- Telecharger javascript - Télécharger - Langages
- Passage qwerty azerty - Guide
- Passage windows 7 à 10 - Accueil - Mise à jour
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Node.js javascript runtime virus ✓ - Forum Virus
11 réponses
InAme19
Messages postés
539
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
30 oct. 2009 à 16:39
30 oct. 2009 à 16:39
comment déclares tu ta variable ID? et où?
fais un test avec une variable bidon. var ID = 2 par exemple.
fais un test avec une variable bidon. var ID = 2 par exemple.
monkey_monk
Messages postés
641
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
10 août 2012
130
30 oct. 2009 à 16:54
30 oct. 2009 à 16:54
Bonjour InAme19 et merci pour ta réponse ! :D
J'ai effectivement essayé avec un variable test mais le résultat est le même...
Pour mieux comprendre mon problème voici à quoi ressemble mon script :
Le premier alert apparait avec un joli 'pouitch' mais le second pas... et tous les tests que j'ai pu faire pour vérifier le passage d'arguments via le setInterval se sont trouvé infructueux...
Il me semble donc bien que mon problème est du au setIntreval, mais impossible de trouver un exemple de passage de variable comme je le tente ici...
J'ai effectivement essayé avec un variable test mais le résultat est le même...
Pour mieux comprendre mon problème voici à quoi ressemble mon script :
var interval; var test = 'pouitch'; var startAuto = true; function start(ID){ alert('1er alert :'+ID); interval = setInterval("suivant("+ID+")", 5000); } function suivant(identifiant){ alert('2nd alert :'+identifiant); } if(startAuto == true){ start(test); }
Le premier alert apparait avec un joli 'pouitch' mais le second pas... et tous les tests que j'ai pu faire pour vérifier le passage d'arguments via le setInterval se sont trouvé infructueux...
Il me semble donc bien que mon problème est du au setIntreval, mais impossible de trouver un exemple de passage de variable comme je le tente ici...
InAme19
Messages postés
539
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
30 oct. 2009 à 16:58
30 oct. 2009 à 16:58
hum...
et si tu tentes un appel sans tes "
genre: interval = setInterval( suivant( ID ) , 5000);
EDIT: non en fait il faut bien les mettre, je regarde ça en local ;)
et si tu tentes un appel sans tes "
genre: interval = setInterval( suivant( ID ) , 5000);
EDIT: non en fait il faut bien les mettre, je regarde ça en local ;)
monkey_monk
Messages postés
641
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
10 août 2012
130
30 oct. 2009 à 17:03
30 oct. 2009 à 17:03
Bah en fait, je viens de tester la même théorie à l'instant et ça fonctionne... je ne comprends vraiment plus rien moi !
Soit, l'important c'est que ça marche comme il faut ! :p
Soit, l'important c'est que ça marche comme il faut ! :p
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
InAme19
Messages postés
539
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
30 oct. 2009 à 17:06
30 oct. 2009 à 17:06
Ah ok, oui c'est bizare, je regarderai ça aussi ^^
monkey_monk
Messages postés
641
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
10 août 2012
130
30 oct. 2009 à 17:09
30 oct. 2009 à 17:09
Ah bah je suis vraiment largué !
Il semblerait que quand je fais : interval = setInterval(suivant(ID), 5000);
ma fonction suivant reçoit bien la variable... par contre il déclenche la fonction sans attendre les 5 secondes !
...je commence à vouloir taper dedans... :D
Il semblerait que quand je fais : interval = setInterval(suivant(ID), 5000);
ma fonction suivant reçoit bien la variable... par contre il déclenche la fonction sans attendre les 5 secondes !
...je commence à vouloir taper dedans... :D
InAme19
Messages postés
539
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
30 oct. 2009 à 17:11
30 oct. 2009 à 17:11
oui sans mettre les " il doit directement rentrer dans la fonction suivant() et donc ne fait pas le setInterval
monkey_monk
Messages postés
641
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
10 août 2012
130
30 oct. 2009 à 17:24
30 oct. 2009 à 17:24
OKKAYY !! :D
CA MARCHEUH ! (presque 3h dessus quand mm... et pas moyen de trouver une doc javascript valide...)
Alors bon, je sais pas pourquoi... mais il semblerait que l'on doivent faire comme ceci :
Et de cette manière le paramètre est bien passé !
Drôle de mic-mac mais bon... j'ai quand même réussis et j'suis trop fier là ! :p
CA MARCHEUH ! (presque 3h dessus quand mm... et pas moyen de trouver une doc javascript valide...)
Alors bon, je sais pas pourquoi... mais il semblerait que l'on doivent faire comme ceci :
interval = setInterval(function(){suivant(identifiant);},5000);
Et de cette manière le paramètre est bien passé !
Drôle de mic-mac mais bon... j'ai quand même réussis et j'suis trop fier là ! :p
InAme19
Messages postés
539
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
30 oct. 2009 à 17:32
30 oct. 2009 à 17:32
Ah je ne connaissais pas cette méthode, tant mieux si ça marche ;)
par contre je viens de lire un truc... non ne me tape pas!! ><
"setInterval() pose des problèmes de compatibilité avec certains navigateurs de version 4. Il est plus sûr d'utiliser setTimeout()."
à cette adresse: https://www.toutjavascript.com/reference/ref-window.setinterval.php
par contre je viens de lire un truc... non ne me tape pas!! ><
"setInterval() pose des problèmes de compatibilité avec certains navigateurs de version 4. Il est plus sûr d'utiliser setTimeout()."
à cette adresse: https://www.toutjavascript.com/reference/ref-window.setinterval.php
InAme19
Messages postés
539
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
62
30 oct. 2009 à 17:36
30 oct. 2009 à 17:36
ah ^^ c'est bon si tu remplaces par setTimeout() ça marche aussi!
j'ai testé:
j'ai juste remplacé le nom de la fonction à ta méthode et ça marche ;)
j'ai testé:
<SCRIPT language=javascript> var interval; var test = 'pouitch'; var startAuto = true; function start(ID){ alert('1er alert :'+ID); interval = setTimeout(function(){suivant(ID);},5000); } function suivant(identifiant){ alert('2nd alert :'+identifiant); } if(startAuto == true){ start(test); } </SCRIPT>
j'ai juste remplacé le nom de la fonction à ta méthode et ça marche ;)
monkey_monk
Messages postés
641
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
10 août 2012
130
30 oct. 2009 à 18:02
30 oct. 2009 à 18:02
Wah cool ! Et en plus tu fais le test à ma place ! Terrible ! XD
Merci beaucoup ! ;)
Merci beaucoup ! ;)