Javascript : fonction définie

thom1992 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
thom1992 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
J'essaye de créer un carrousel en javascript pour un projet de site web en école d'ing, mais je n'arrive pas à le faire fonctionner et à chaque fois que j'essaye d'appuyer su les liens où les boutons input, le débogueur me dit que la fonction changeImage est indéfinie. Je ne comprends pas, car même en regardant bien, je ne trouve pas d'erreur. Si quelqu'un peut m'aider, merci d'avance.

Voilà mon code :
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<title>Out Of The Box</title>
<link rel="stylesheet" type="text/css" href="general.css" />
</head>
<body>
<img src="slide1.jpg" id="slideshow" alt="slideshow" />
<div id="caption">
caption for slide 1
</div>
<a href="#" rel="nofollow" target="_blank" onclick="changeImage(-1); return false;">Previous Slide</a><br />
<a href="#" rel="nofollow" target="_blank" onclick="changeImage1); return false;">Next Slide</a><br />

<form action="test.html">
<input type='button' onclick='changeImage(-1); return false;' value='précédent'><br />
<input type='button' onclick='changeImage(1); return false;' value='suivant'>
</form>
<script type="text/javascript">

var images = {"slide1.jpg" , "slide2.jpg", "slide3.jpg"};
var caption = {"aizen1" , "aizen2", "aizen3"};

var imageNumber = 0;
var imageLength = images.length - 1;

function changeImage(x) {

imageNumber += x;

if(imageNumber > imageLength) {

imageNumber = 0;

}
if(imageNumber < 0) {

imageNumber = imageLength;

}

document.getElementById("slideshow").src = images[imageNumber];
document.getElementById("slideshow").alt = caption[imageNumber];

}

/*var rotateAction = setInterval(changeImage, 5000);*/

/*slideshow.onmouseover(rotateAction);
slideshow.onmouseout();*/

</script>

</body>
</html>

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

La console de développement de ton navigateur aurait dû te remonter l'erreur "SyntaxError: missing : after property id" au niveau de la déclaration de tes tableaux, ceux-si sont effectivement déclarés avec une syntaxe incorrect.

Remplace les accolades par des crochets pour déclarer tes tableaux :
var images = ["slide1.jpg", "slide2.jpg", "slide3.jpg"];
var caption = ["aizen1", "aizen2", "aizen3"];


Bonne journée,
0
thom1992 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci. C'était bien çà. çà fonctionne maintenant.
0