salut à tous
je bosse sur un diaporama manuel en javascript et je n'arrive à créé des fonction lecture et arret pour un mode automatique.
j'ai bien trouver ceci mais lorsque j'essaye de le repeter en boucle, çà marche pas et çà plante mes fonctions manuelles
pour avoir 5 seconde puis defilement de l'image il faut faire ceci:
mais pour ma boucle de la fonction lecture(), c'est pas gagner
voila ce que j'ai tenté de faire (une boucle du code si-dessus qui se repete du nombre d'image + 1 pour revenir sur l'image de départ à la fin)
voila ça marche pô
il faut bien sur que cette fonction lecture() ne plante pas la fonction changeimage() et qu'elle puisse etre stoppé par une autre fonction arret()
c'est moi qui est ajouter la variable compteur et le script est correct jusqu'à la fonction lecture()
si quelqu'un a une idée pour faire ces boucles lecture() et arret()
Modifié par beroots (28 Nov 2005 - 00:43)

je bosse sur un diaporama manuel en javascript et je n'arrive à créé des fonction lecture et arret pour un mode automatique.
j'ai bien trouver ceci mais lorsque j'essaye de le repeter en boucle, çà marche pas et çà plante mes fonctions manuelles

pour avoir 5 seconde puis defilement de l'image il faut faire ceci:
function lecture()
{
setTimeout("changeimage(+1)",delai);
}
mais pour ma boucle de la fonction lecture(), c'est pas gagner

voila ce que j'ai tenté de faire (une boucle du code si-dessus qui se repete du nombre d'image + 1 pour revenir sur l'image de départ à la fin)
<!--
//Vous pouvez modifier les parametres du script ici
//Les images doivent se nommer:
//prefiximage[valeur entre 1 et nbimages].extension
//prefixthumb[valeur entre 1 et nbimages].extension
//Prefix des vignettes(peut contenir un répertoire)
var prefixthumb='./img/piece'
//Prefix des images(peut contenir un répertoire)
var prefiximage='./img/piece'
//Extension des images
var extension='jpg'
//Nombres d'images
var nbimages=8
//Delai entre chaque image en ms
var delai=5000
//==========================
var newi=0, lasti=0
//Si pas=1 : image suivante
//Si pas=-1: image precedente
function changeimage(pas)
{
{
//Ajout du pas
newi=newi+pas
//Si on arrive au début, on repart de la fin
if(newi<1) newi=nbimages
//Si on arrive a la fin, on repart du début
if(newi>nbimages) newi=1
}
if(newi==lasti) changeimage(0)
else
{
lasti=newi
if(document.getElementById) o=document.getElementById('diapo');
else if(document.images) o=document.images.diapo;
if(o)
{
if(o.filters) o.filters[0].apply();
o.src=prefixthumb+newi+'.'+extension
if(o.filters) document.getElementById('diapo').filters[0].play();
}
}
}
changeimage(0)
function lecture()
var compteur=0;
{
while(compteur=nbimages)
{
compteur++
}
if(compteur<nbimages)
setTimeout("changeimage(+1)",delai);
else
changeimage(0);
}
//-->
voila ça marche pô

il faut bien sur que cette fonction lecture() ne plante pas la fonction changeimage() et qu'elle puisse etre stoppé par une autre fonction arret()
c'est moi qui est ajouter la variable compteur et le script est correct jusqu'à la fonction lecture()
si quelqu'un a une idée pour faire ces boucles lecture() et arret()

Modifié par beroots (28 Nov 2005 - 00:43)