cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
3 juil. 2008 à 10:25
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
3 juil. 2008 à 10:55
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?
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 3 juil. 2008 à 10:40
Nickel tout fonctionne.
Je ne connaissais pas setInterval (qui semble plus approprié). Certains site le déconseille et disent d'utiliser plutôt setTimeout. Il pose vraiment des problèmes ou bien c'est seulement avec les navigateurs plus que dépassés?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 3 juil. 2008 à 10:49
il faut se méfier des recommandations de tel ou tel site !
là franchement, moi je n'en ai aucune idée.
setTimeout il faut relancer, setInterval non. c'est tout ce que je sais ;o)
pour l'ortografe j'ai la barre d'outils google, et je ne pense que rarement
à lancer le correcteur orthographqiue ! qu'est-ce qu'il faut tenir quand même !