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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Pouvez vous m'expliquer ces 5 lignes de codes en JS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pouvez vous m'expliquer ces 5 lignes de codes en JS

n°1158285
weed
Posté le 24-07-2005 à 12:58:30  profilanswer
 

http://fr.selfhtml.org/javascript/ [...] es.htm#src
 
 

<script type="text/javascript">
<!--
 var b = new Array();
 b[0] = new Image(); b[0].src = "henri.gif";
 b[1] = new Image(); b[1].src = "hilmar.gif";
 b[2] = new Image(); b[2].src = "heiner.gif";
 b[3] = new Image(); b[3].src = "hans.gif";
 var i = 0;
 function Animation()
 {
  if(i > 3) i = 0;
  document.images[0].src = b[i].src;
  i = i + 1;
  window.setTimeout("Animation()",1000);   <====
 }
 window.setTimeout("Animation()",1000);     <=====
//-->


 
je ne comprends absolument pour pourquoi il y a 2 window.setTimeout("Animation()",1000);  
 
normallement, pour moi le premier devrait suffire. Je m'explique,  
- une fois que que i est incrémenté de 1,  
- on attends 1 secondes,  
- puis on lance la fonction animation. En fait elle se rapelle elle-meme, c'est un peu du recursif.
- Ensuite on vérifie que i n'est pas plus grand que 3, si ce n'est pas le cas, on réinitialise la variable i à 0. Au 2ème passage, c'est faut. i vaut 2
- Ensuite on affecte le 2ème element du tableau (b[2].src) à document.images[0].src
- On incremente de i de 1
- On attend 1 secondes et on relance la fonction animation ()
 
 
Bref pour moi c'est une boucle infinie, il n'y a pas besoin de 2ème fonction. Pourquoi en ont il mis une ?

mood
Publicité
Posté le 24-07-2005 à 12:58:30  profilanswer
 

n°1158296
gandolfoui​lle
Posté le 24-07-2005 à 13:26:28  profilanswer
 

[quotemsg=1158285,1,54005]http://fr.selfhtml.org/javascript/objets/images.htm#src
 
 
Salut,  
 
La tu initialises les variables, je pense que t'es ok
 var b = new Array();
 b[0] = new Image(); b[0].src = "henri.gif";
 b[1] = new Image(); b[1].src = "hilmar.gif";
 b[2] = new Image(); b[2].src = "heiner.gif";
 b[3] = new Image(); b[3].src = "hans.gif";
 var i = 0;
 
La tu définis ta fonction  
 
function Animation()
 {
  if(i > 3) i = 0;
  document.images[0].src = b[i].src;
  i = i + 1;
  window.setTimeout("Animation()",1000);    
 }
 
 
La tu appelle la  fonction que tu viens de définir(Animation())
window.setTimeout("Animation()",1000);     <=====
 
En fait il n'y a pas 2 appels à window.setTimeout pasque le premier sert à la définiftion de la fonction, dans la boucle et le second il permet de lancer "vraiment" la fonction Animation que tu viens de définir.Ensuite le window.setTimeout("Animation()",1000) de la fonction il va rappeller cette même fonction récursivement et ça indéfiement.
 
mais ca doit afficher tout le temps la même image non?Ou ya un truc que j'ai pas compris.
 
Bye
 
 
 
 

n°1158303
gatsusat
Posté le 24-07-2005 à 13:38:54  profilanswer
 

ben la dernier ligne est le lancement de la fonction animation
 
et la ligne avant est comprise dans la definition de fonction, et la fonction est recursive, elle s'appelle elle même

n°1158334
weed
Posté le 24-07-2005 à 15:12:15  profilanswer
 

merci les gars. Oui c'est vrai j'ai pas vraiment fais gaffe, y a besoin d'appeller la fonction sinon elle est ignorer. C'est comme en c/c++ ou il faut appeller la fonction à partir du main. Je pensais que les lignes étaient au fur et à mesure.  
 
 
 
gandolfouille, en fait le but de la fonction et de faire défiller une série d'image toutes les secondes ssans faire appelle aux gif animées.  
 
La dans mon exemple, oui en effet les affectations ne sont pas bien faites ....
 
Encore un grand merci pour m'avoir eclairer.


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

  Pouvez vous m'expliquer ces 5 lignes de codes en JS

 

Sujets relatifs
[ SQL ] Regrouper et sommer plusieurs lignes selon critèresPb sauts de lignes dans MySQL
votre avis sur mon premier script php (100 lignes)[BATCH] HELP !!! Copier fichier sans les 3 1ères lignes dans un autre
nombre de lignes dans une table de ma BDSupprimer les lignes d'un fichier ?
Supprimer des lignes dans une String[VBS] [WORD] Expressions régulières - Rechercher toutes les lignes...
[VBA] Macro Excel -> Suppression de LignesCompte les lignes de code ?
Plus de sujets relatifs à : Pouvez vous m'expliquer ces 5 lignes de codes en JS


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