Diaporama en JS

Résolu/Fermé
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 - 18 mai 2009 à 10:25
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 - 18 mai 2009 à 11:41
Bonjour,

Je suis en train de créer un diaporama en Javascript. En statique (avec les chemins des images en dur pas de soucis...). Mais dès que je veux passer en dynamique, c'est la galère.

Alors voici l'appel du script :
<div id="zone<?php echo $i; ?>">
									<script>ChangeImage(<?php echo $i; ?>, <?php echo $img1path; ?>, <?php echo $img2path; ?>, <?php echo $img3path; ?>, <?php echo $img4path; ?>);</script>
</div>


Et voici le script :
<script type="text/javascript">
<!--
	num = 0;
	function ChangeImage(id, img1, img2, img3, img4)
	{
		var couv = new Array(Array);
		couv[id][0] = img1;
		couv[id][1] = img2;
		couv[id][2] = img3;
		couv[id][3] = img4;
				
		if (num == -1) 
		{ 
			num = (couv.length-1);
		}
					
		if(document.getElementById)
		{
			document.getElementById("zone"+id).innerHTML =couv[id][num];
			num = num+1;
					
			if(num == 4)
			{
				num = 0;
			}
		}
					
	setTimeout("ChangeImage("+id+")", 2000);
	}
	// -->
</script>


Le problème étant que les images ne sont pas récupérées alors que les chemins sont bons, je pense que c'est les http:// qu'il voit comme un début de commentaires, mais j'ai déjà essayé plusieurs choses pour y remédier mais sans succès. Je débug avec Firebug et j'ai cette erreur:


missing ) after argument list
ChangeImage(76, http://www.saint-vaast-immobilier.com/images/no_image.gif, http://www.saint-vaast-immobilier.com/images/no_image.gif, http://www.saint-vaast-immobilier.com/images/no_image.gif, http://www.saint-vaast-immobilier.com/images/no_image.gif);

Si vous pouviez m'aider, ça serait cool ;)

7 réponses

jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
18 mai 2009 à 10:43
Il faut que tu rajoutes des ' quand tu passes des chaines de caractères à une fonction js :

<script>ChangeImage('<?php echo $i; ?>', '<?php echo $img1path; ?>', '<?php echo $img2path; ?>', '<?php echo $img3path; ?>', '<?php echo $img4path; ?>');</script>
0
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 63
18 mai 2009 à 10:51
Bonjour Jeangilles,

Merci de ta réponse. Effectivement cela me corrige le souci annoncé. Cependant, un autre est apparu :D

Au lieu de m'afficher mes images, cela m'affiche "undefined".

Et firebug me donne une erreur : couv[id] is undefined
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
18 mai 2009 à 10:59
ta variable php $i est elle initialisée ?
sinon c'est normale que id soit undefined
0
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 63
18 mai 2009 à 11:02
Oui oui, elle est bien définie. Dans le code source de la page j'ai bien des <div id="zone50"> par exemple.
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
18 mai 2009 à 11:06
et en faisant :
var couv = new Array(new Array('0','1','2','3'));

parce que le new Array(Array) m'inspire pas trop confiance :S
^^
0
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 63
18 mai 2009 à 11:10
Pas mieux :S
L'erreur Firebug :
couv[id] is undefined
http://localhost/StVaastImmo/dev/biens.php
Line 17


La ligne 17 c'est :
couv[id][0] = img1;
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
18 mai 2009 à 11:16
et si tu fais

var couv = new Array();
couv[id] = new Array();
couv[id][0] = img1;
couv[id][1] = img2;
couv[id][2] = img3;
couv[id][3] = img4;
0
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 63
18 mai 2009 à 11:27
Bien vu ;) Effectivement je n'ai plus l'erreur sur Firebug.

Mais cela n'affiche toujours pas l'image, j'ai donc voulu faire un alert("Image1 = "+img);

Donc cela "m'alerte" bien, mais bizarrement, en effet, quand je voit bien l'url mais quand je clique sur OK, il y a furtivement un Image1 = undefined qui apparait puis disparait....
0
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 63 > Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010
18 mai 2009 à 11:30
En fait, c'est au rechargement de l'image qu'elle devient undefined...Comme si la variable img1 était détruite après le premier appel....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
18 mai 2009 à 11:30
ca viendrait pas de ton setTimeout("ChangeImage("+id+")", 2000); ?

normalement tu passes 5 arguments à ta fonction, et là qu'un seul
0
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 63
18 mai 2009 à 11:33
Pffffffffffff j'avais même pas vu ça......Forcement au début, je ne lui passait que l'id pour les tests....

Merci!!

Une dernière chose si tu sais, la il m'affiche l'URL de l'image et non l'image elle-même, comment je peux faire ?
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
18 mai 2009 à 11:35
document.getElementById("zone"+id).innerHTML ='<img src="'+couv[id][num]+'">;

ou quelque chose dans le genre ^^
0
Yaninho Messages postés 484 Date d'inscription jeudi 19 mars 2009 Statut Membre Dernière intervention 30 août 2010 63
18 mai 2009 à 11:40
Une fois de plus, chapeau! Merci beaucoup pour ton aide ;)

C'est toujours difficile de trouver ses propres erreurs! Merci encore ;)
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
18 mai 2009 à 11:41
De rien :)
0