Bonjour,
J'ai une page qui me permet d'afficher une liste d'image. C'est liste est chargée en ajax via un fichier xml qui me renvoi toute les infos de chaque images. Après j'ai une fonction js qui récupère toutes ces infos et me les affichent via une boucle. Jusque là tout va bien, tout s'affiche sans prob.
Mon problème est que pour chaque image j'instancie un objet scriptaculous qui me rend mon image "draggable". Donc à chaque passage dans ma boucle j'instance un nouvel objet "new Draggable("image"+id);". Là où ça bloque c'est qu'au final, il n'y a que l'objet pour ma dernière image qui instancié. Toutes celles d'avant ne sont pas prises en compte. Donc il n'y a que ma dernière image qui est draggable ...
Pourtant l'id passe bien, aucune erreur n'est retournée et si j'instancies mes objets en dur du style : "new Draggable("image1");" , "new Draggable("image2");" etc. ça passe. Je sais pas trop quoi faire ...
Voila une version simplifiée de ma fonction qui récupère les infos du xml et les affichent :
En esperant avoir été pas trop brouillon ... Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 function mafonction(obj) { var tabResult = obj.responseXML.getElementsByTagName('image'); document.getElementById('images_liste').innerHTML = ""; if (tabResult.length > 0) { for (var i = 0; i < tabResult.length; i++) { var content = ""; var image = tabResult.item(i); var id = image.getAttribute('id'); var titre = image.getAttribute('titre'); var fichier = image.getAttribute('fichier'); content += "<div class='image' id='image"+id+"'>"; content += "<img src='"+fichier+"' alt='"+titre+"' />"; content += "</div>"; document.getElementById('images_liste').innerHTML += content; //C'est ça qui ne fonctionne qu'une fois new Draggable("image"+id); } }
Partager