11548 sujets

JavaScript, DOM et API Web HTML5

Salut,
J'ai regardé le tutoriel de Raphael sur "Comment faire une galerie photo avec javascript" et je n'ai pas compris la ligne for (var i = 0 ; i < liens.length ; ++i) dans ce code :

	// 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
			return false; // Et pour finir on inhibe l'action réelle du lien
		};
[/i]
Je comprend qu'on cree une variable i avec comme valeur 0 et qu'à la fin on l'incremente de 1 mais pourquoi utilise t'on i < liens.length. Est ce que vous pourriez me traduire la ligne en francais. Merci.
Modifié par phisto (03 Nov 2005 - 22:47)
Hello, cette ligne est en fait assez simple. Il s'agit d'une boucle qui, tant que i < liens.length va incrementer la variable i.
et en plus liens.length est un nombre (1, 2 3 ou 12), mais comme on démarre la boucle avec i=0 tu peux noter que l'on fait ++i (et non pas i++) de façon à incrémenter i AVANT d'entrer dans la boucle (et pas après)

tu aurais pu avoir i=1 ; ..... ; i++

cool, non ?
a écrit :

et en plus liens.length est un nombre (1, 2 3 ou 12), mais comme on démarre la boucle avec i=0 tu peux noter que l'on fait ++i (et non pas i++) de façon
à incrémenter i AVANT d'entrer dans la boucle (et pas après)

tu aurais pu avoir i=1 ; ..... ; i++


Si je ne m'abuse, ici, que ce soit ++i ou i++, ça ne change strictement rien. Un tableau commence toujours par l'élément numéro 0.

i++ et ++i sont à dinstiguer sur une ligne comme :
var i = 0;
alert(i++);

ce qui affichera 0, mais si on avait mis ++i, ça aurait affiché 1.
Y-a des claques qui se perdent.

A vouloir jouer au malin, on dit des con....

Mea culpa, mille fois, mais QuentinC a raison i++ ou ++i ne change rien au nombre de tours dans la boucle.

Désolé Smiley bawling