Javascript : fonction définie

Fermé
thom1992 Messages postés 2 Date d'inscription mercredi 13 juillet 2016 Statut Membre Dernière intervention 14 juillet 2016 - 13 juil. 2016 à 13:10
thom1992 Messages postés 2 Date d'inscription mercredi 13 juillet 2016 Statut Membre Dernière intervention 14 juillet 2016 - 14 juil. 2016 à 20:55
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 526
13 juil. 2016 à 14:15
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 mercredi 13 juillet 2016 Statut Membre Dernière intervention 14 juillet 2016
14 juil. 2016 à 20:55
Merci. C'était bien çà. çà fonctionne maintenant.
0