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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript]problème avec for

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript]problème avec for

n°1095481
kray
Bad show?
Posté le 24-05-2005 à 19:51:11  profilanswer
 

Hello,
VOilà, j'ai repris un tutoriel d'alsacreations et j'essaie de le modifier. Mon problème se situe dans le for au niveau du "teste.firstChild.nodeValue = document.getElementById('galerie_mini').getElementsByTagName('img')[i-1].alt"
 
: le i-1 vaut TOUT le temps sa valeur maximale (10), comme si il était après le for(mais pas dedans).Je voudrais que quand on clic sur le lien i, teste prenne la valeur alt de l'image i et pas de l'image 10
 
 

Citation :

function displayPics()
{
 var photos = document.getElementById('galerie_mini') ;
 // On récupère l'élément ayant pour id galerie_mini
 var liens = photos.getElementsByTagName('a') ;
        var descri = document.getElementById('galerie_mini').getElementsByTagName('img').alt ;
 // On récupère dans une variable tous les liens contenu dans galerie_mini
 var big_photo = document.getElementById('big_pict') ;
 // Ici c'est l'élément ayant pour id big_pict qui est récupéré, c'est notre photo en taille normale
 
 var titre_photo = document.getElementById('photo').getElementsByTagName('dt')[0] ;
 // Et enfin le titre de la photo de taille normale
 
        var teste= document.getElementById('description') ; //MODIF
 // Une boucle parcourant l'ensemble des liens contenu dans galerie_mini
 
 
for (var i = 0 ; i < liens.length ; ++i) {
 // Au clique sur ces liens  
  liens[i].onclick = function() {
   big_photo.src = this.href; // On change l'attribut src de l'image en le remplaçant par la valeur du lien
   big_photo.alt = this.title; // On change son titre
   titre_photo.firstChild.nodeValue = this.title; // On change le texte de titre de la photo
   teste.firstChild.nodeValue = document.getElementById('galerie_mini').getElementsByTagName('img')[i-1].alt ;//MODIF
                        return false; // Et pour finir on inhibe l'action réelle du lien
  };
 }
 
 
 
 
 
 
}
window.onload = displayPics;
// Il ne reste plus qu'à appeler notre fonction au chargement de la page
 


 
Ca doit etre du javascript tout bete mais je comprend pas.

mood
Publicité
Posté le 24-05-2005 à 19:51:11  profilanswer
 

n°1095484
FlorentG
Unité de Masse
Posté le 24-05-2005 à 19:55:00  profilanswer
 

Problème de scope : tu met dans le onclick une fonction, où figure ta variable i, qui est locale au for. Donc une fois le for effectué, i va valoir 10. Et donc dans l'appel du onclick, ce sera toujours 10... Faut bricoler avec un eval je crois, fouille sur ce forum, ça a été donné


---------------
last.fmflickr
n°1095669
kray
Bad show?
Posté le 24-05-2005 à 22:42:11  profilanswer
 

Je suis totalement noob en javascript(mais je me documente plein), et donc je comprend pas pourquoi le i est "local" au for puisque  
1)liens[i] il "marche" correctement
2)Je crois(mais je me trompe pe) que la ligne avec le [i-1] est dans le for au m^me titre que le lien[i]?
 
Je dois sans doute mal interpreter le fonctionnment de la boucle "for"(surtout le "2)" ).Je précise que je me débrouille en VB et C++ donc c'est pas que je comprend pas le fonctionnement global d'une boucle for, mais plus le fonctionnment en JS.
 

n°1095699
FlorentG
Unité de Masse
Posté le 24-05-2005 à 22:58:47  profilanswer
 

Comme dit, au moment où le onclick sera appellé, il tombera sur cette ligne :

teste.firstChild.nodeValue = document.getElementById('galerie_mini').getElementsByTagName('img')[i-1].alt ;


Note qu'il verra un i, il ne verra pas un nombre genre 1, 2, 3... Donc il remplaçera le i par sa valeur, qui à ce moment sera 10.


---------------
last.fmflickr
n°1099573
kray
Bad show?
Posté le 27-05-2005 à 14:31:16  profilanswer
 

Ahhhh je commence a comprendre.Merci.
Par contre j'ai cherché "eval" et j'ai rien troiuvé qui m'intéresserait. Est ce que c'est techniquement possible d'associer au click sur le lien i une variable qui corespondrait à l'index du lien clické(i) ?


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

  [Javascript]problème avec for

 

Sujets relatifs
[javascript] probleme onmouseover avec frameProbleme javascript avec safari
Probleme JSP JavaScript !!Probleme JSP JavaScript !!
Probleme JSP JavaScriptJavascript + XHTML : problème DOM
[HTML /JAVASCRIPT je crois] probleme formulaire[RESOLU][XSL/JavaScript]problème d'intégration code JS dans le XSL
Problème Javascript InnerHTML avec firefox[Javascript] Problème avec InnerHTML
Plus de sujets relatifs à : [Javascript]problème avec for


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