11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
J'essaye d'intégrer la fonction query cycle dans une fonction que j'appelle depuis un onLoad.
Le fonctionnement est le suivant:
onLoad, je récupère un tableau de valeurs d'images contenues dans un XML.
J'ajoute au html existant, le div qui me permettra d'inclure les images.
j'ajoute la fonction cycle sur le div.

voici la fonction incriminée :


function creerDiaporama (listeProduits) {
		
			var nbrProduits = listeProduits.length;
			var nbrDiaporama = Math.ceil(nbrProduits/5);
			var dureeSupp = 500;
			var jinitial=0;
			var idZone = document.getElementById("zone"); 
			htmlDiapo.push("<table><tr>");
	
	for (var i=0;i<nbrDiaporama;i++) {
			htmlDiapo.push("<td>");
			var idDiaporama = "diaporama"+i;
	
			htmlDiapo.push("<div id='"+idDiaporama+"' class='pics'>");

			for (var j=jinitial;j<nbrProduits;j++) {
					       
            				htmlDiapo.push("<img src='images/"+listeProduits[j]+".jpg' width='80' height='102' alt='"+listeProduits[j]+"' />");
        					

					if (j== (((i+1)*5)-1)) {break;}	
				}
			htmlDiapo.push("</div>");
			jinitial += 5;
			
			htmlDiapo.push("<script type='text/javascript'>");
			htmlDiapo.push("$(function() {$('#"+idDiaporama+"').cycle();});");
			htmlDiapo.push("</script>");
		        htmlDiapo.push("</td>");


		}
			htmlDiapo.push("</tr></table>");
			
			idZone.innerHTML  = htmlDiapo.join("");	
				
	}


quand je liste le innerHTML sous firefox, la syntaxe parait bonne, les deux images de chaque diaporama apparaissent mais impossible de mettre en route la fonction cycle.
Et je n'ai aucune erreur via firebug.

Quelqu'un aurait-il une idée.

merci
J'avais jamais vue une balise script insérées via innerHTML!

Est ce que mettre l'appelle de ta fonction :
$(function() {$('#"+idDiaporama+"').cycle();});

à la fin de ta fonction creerDiaporama() ne résout pas le problème?