Javascript boucle for

Résolu
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. 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 !

    ++
    1. 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
      1. 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 !