Javascript boucle for

Résolu
azerty -  
Zestyr Messages postés 503 Statut Membre -
Bonjour,

j'ai un petit problème en javascript, je suis en train de m' "amuser" avec l'API de google maps :

voici le code qui fonctionne :

new google.maps.event.addListener(markers[0], 'click', function() { infos[0].open(map,markers[0]); });
new google.maps.event.addListener(markers[1], 'click', function() { infos[1].open(map,markers[1]); });
new google.maps.event.addListener(markers[2], 'click', function() { infos[2].open(map,markers[2]); });
new google.maps.event.addListener(markers[3], 'click', function() { infos[3].open(map,markers[3]); });

et le code qui ne fonctionne pas :

for (var j = 0; j < 4; j++) {
new google.maps.event.addListener(markers[j], 'click', function() { infos[j].open(map,markers[j]); });
}

si quelqu'un a une idée du pourquoi du comment ??

parce que là, j'ai 4 occurences, mais en réalité, j'en ai plus de 500, j'aimerais donc bien que la boucle fonctionne :D

merci
Configuration: Mac OS X
Safari 531.21.10

3 réponses

  1. Zestyr Messages postés 503 Statut Membre 52
     
    Salut,
    En déclarant la variable j avec var tu la déclare en local et il me semble que c'est pas bon de le faire ici donc essaie en enlevant le var !

    ++
    0
  2. azerty
     
    merci pour ta réponse

    j'ai essayé en enlevant le "var" mais ça ne fonctionne toujours pas

    je ne pense pas que cela vienne de là puisque j'ai une autre boucle dans une autre fonction javascript en déclarant la variable avec "var" dans une boucle for et ca fonctionne bien

    merci quand même
    0
    1. azerty
       
      bon, mon frère est mon sauveur

      la fonction() interprete le j comme un j et non comme une variable

      ainsi, il faut placer le code new ... dans une fonction test(j) à part et dans la boucle, appeler cette nouvelle fonction

      et ca roule ! merci bro !
      0
  3. Zestyr Messages postés 503 Statut Membre 52
     
    Bizar que j soit interprété comme un caractère !
    0