Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2275 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Paramètre dans une fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Paramètre dans une fonction

n°1634304
carroteman
Posté le 31-10-2007 à 08:39:08  profilanswer
 

Bonjours je tente d'effectuer un compte à rebours. Pour cela le code du compte à rebours se situe dans une fonction, et la fonction je l'envoi en string au timer. Mais j'aimerai changer le nombre de seconde du compte à rebours en fonction de l'argument envoyé à la fonction par le timer mais je ne sais pas comment faire. Ou si vous avez une autre solution ....
 
Voilà ce que j'ai tenté de faire :  
 

Code :
  1. function a(nombre)
  2. {
  3.  if (nombre == 0)
  4.  {
  5.  var p = document.getElementById('p');
  6.  p.innerHTML = '';
  7.  p.innerHTML = 'Construction terminée';
  8.  setTimeout("window.location='http://127.0.0.1/Jeu/login.php?page=batiments'", 1000);
  9.  }
  10.  else
  11.  {
  12.  var p = document.getElementById('p');
  13.  var minute = arrondir((nombre / 60));
  14.  var seconde = nombre - (minute * 60);
  15.  p.innerHTML = '';
  16.  p.innerHTML = minute+' min '+seconde+' sec ';
  17.  nombre--;
  18.  }
  19. }
  20. function arrondir(resultat)
  21. {
  22. resultat = Math.floor(resultat);
  23. return resultat;
  24. }
  25. setInterval('a(456)', 1000);/*le nombre passé en argument est le nombre de seconde et j'aimerai qu'il décrémente à chaque fois or ici il ne décrement pas*/

mood
Publicité
Posté le 31-10-2007 à 08:39:08  profilanswer
 

n°1634458
SICKofitAL​L
misanthrope
Posté le 31-10-2007 à 10:41:34  profilanswer
 

Salut
 
ben en fait tu peux faire bcp plus simple concernant la fonction setInterval (et setTimeout aussi d'ailleurs).
Tu peux appeller la fonction sont cette forme :

Code :
  1. //setInterval (fonction, delay, arguments)
  2. var maFonction = function ()
  3. {
  4. var nbArgs = arguments.length - 1; //le dernier argument ne nous interresse pas
  5. alert (nbArgs);  // affiche "2"
  6. alert (arguments[0]); // affiche "arg1";
  7. // etc.....
  8. }
  9. setInterval (maFonction, 1000, "arg1", "arg2" );


 
bien sur en pasant les arguments dans un tableau c ptetre plus simple à gérer (tu récupereres ton array comme ca 'var mesArgs = arguments[0];' )
 
En espérant que ca te dépannes :)
 
EDIT :
Oublies ce que j'ai écris, j'avais pas compris, je te refais un post d'ici 5 min ;)


Message édité par SICKofitALL le 31-10-2007 à 10:45:50

---------------
We deserve everything that's coming...
n°1634511
SICKofitAL​L
misanthrope
Posté le 31-10-2007 à 11:09:13  profilanswer
 

okokok
 
Ton soucis vient du fait que tu décrementes une variable de parametre, qui n'existe que dans la fonction où tu t'en sers, donc "nombre" garde tjrs la même valeur ;)
 
En fait tu peux faire qqch de bcp plus simple :

Code :
  1. countdown = {
  2. monTimeout:   0,
  3. timer:  null,
  4. func:  function ()
  5.      {
  6.                             var p = document.getElementById ("p" );
  7.                             var minute = parseInt (countdown.monTimeout / 60);
  8.                             var seconde = countdown.monTimeout % 60;
  9.                             p.innerHTML = minute + " min " + seconde + " sec ";
  10.                             countdown.monTimeout--;
  11.                             if (countdown.monTimeout < 0)
  12.                             {
  13.                                 p.innerHTML = "Construction terminée";
  14.                                 clearInterval (countdown.timer);
  15.                                 var go = function () { window.location='http://127.0.0.1/Jeu/login.php?page=batiments' };  // fonction à lancer à la fin du décompte
  16.                                 setTimeout (go, 1000);
  17.                             }
  18.                             return true;
  19.      }
  20. }
  21.   countdown.monTimeout = 65; // nombre de seconde que tu veux pour ton décompte  
  22.   countdown.timer = setInterval (countdown.func, 1000); // lancement du décompte


 
voilà, en cas de soucis hésites pas :)


---------------
We deserve everything that's coming...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Paramètre dans une fonction

 

Sujets relatifs
Passer un évènement en paramètre de fonctionVBA [Résolu] Passer une fonction en paramètre
Fonction js avec paramètre PHP[Résolu] Appeler une fonction avec comme paramètre la fonction d'appel
[RESOLU] chaine caractère en parametre de fonction / Javascriptfonction avec table hash en parametre
Fonction de saisi avec un nombre de parametre variablecallback vers un fonction membre, sans parametre "user"
[RESOLU] tab multidimensionel en paramètre d'une fonctionFonction membre en paramètre
Plus de sujets relatifs à : Paramètre dans une fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR