Salut à tous
J'essaye de faire une galerie photo avec un diaporama. Tout fonctionne mais j'ai un problème dans un cas particulier : Si on arrete le diaporama puis qu'on le relance, on dirait que 2 setTimeout sont lancés.
Pour essayer d'être plus clair, normalement on change d'image toutes les 3 secondes. Après avoir arrété puis relancé (selon à quel moment on relance), j'ai par exemple la première image qui reste 2 secondes, la deuxième 1 seconde, la troisième 2 secondes, etc. On dirait que le premier Timeout continue à tourner. Pourtant tant que l'on ne relance pas le diaporama après avoir arrêté, ça ne change pas d'image.
Voila mon code :
function play () {
if (lecture) {
stopDiaporama ();
} else {
lecture = true;
setTimeout ("diaporama ()", 1200);
}
}
function diaporama () {
if (lecture) {
suivant ();
setTimeout ("diaporama ()", 3000);
}
}
function stopDiaporama () {
lecture = false;
}
La fonction play() lance ou arrete le diaporama. Elle est appelée quand on clique sur le bouton Lecture/Pause.
La fonction suivant() affiche l'image suivante.
Esct-ce qu'il est possible que le premier Timeout continue à tourner? Et dans ce cas est-il possible de l'arrêter?
Merci d'avance