SetInterval imbriqué

soliste69 Messages postés 3 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 20 octobre 2012 - 3 mai 2006 à 21:28
goujon6 Messages postés 2 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 10 octobre 2006 - 10 oct. 2006 à 09:32
Bonsoir, j'essaie de creer un diaporama automatique où chaque 3s une nouvelle image scroll à travers un masque. J'essaie aussi que la transition entre chaque image soit fluide.
voilà l'idée:
var id = setInterval(function (mc)
{
_root.Attente=true;
clearInterval(idAttente);
var idAttente=setInterval(function(){_root.Attente=false;},100);
for(i=0;i<240;i++)
{
_root.Defilement -= 1;
mc._x=_root.Defilement;
updateAfterEvent();
while(_root.Attente);
_root.Attente=true;
}
if (_root.Defilement<-481)
{
_root.Defilement = 0;
}
clearInterval(idAttente);
}, 6000, strip_layer);
le 2eme setInterval sert à ralentir la transition (scroll) de l'image

et le probleme :
_root.Attente reste à true et donc c'est la boucle infinie !!
pourtant idAttente est bien créé et non null...

et la question :
peut-on imbriquer des setInterval ?
mon code est pas bon ?
peut-on faire la meme chose autrement ?

ok ok y'a 3 questions :D
Merci par avance, Sylvain
A voir également:

3 réponses

soliste69 Messages postés 3 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 20 octobre 2012
3 mai 2006 à 21:32
Bonsoir, j'essaie de creer un diaporama automatique où chaque 3s une nouvelle image scroll à travers un masque.
J'essaie aussi que la transition entre chaque image soit fluide.
voilà l'idée:
var id = setInterval(function (mc) {
_root.Attente=true;
clearInterval(idAttente);
var idAttente=setInterval(function(){_root.Attente=false;},100);
for(i=0;i<240;i++) {
_root.Defilement -= 1;
mc._x=_root.Defilement;
updateAfterEvent();
while(_root.Attente);
_root.Attente=true;
}
if (_root.Defilement<-481)
{
_root.Defilement = 0;
}
clearInterval(idAttente);
}, 6000, strip_layer);


le 2eme setInterval sert à ralentir la transition (scroll) de l'image

et le probleme : _root.Attente reste à true et donc c'est la boucle infinie !! pourtant idAttente est bien créé et non null...

et la question :
peut-on imbriquer des setInterval ?
mon code est pas bon ?
peut-on faire la meme chose autrement ?

ok ok y'a 3 questions :D

Merci par avance, Sylvain
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
4 mai 2006 à 10:22
Dans un diaporama, créé il y a quelque temps, j'ai créé une function "timer", comme ça :

function setTimerCtrl() { //on créé la fonction timer
autoTimer = Number(_root.timer_mc.setTimer.getSelectedItem().label)*1000;//Check du timer sélectionné
clearInterval(intervalID);//Virer l'interveal pour le slider auto
intervalID = setInterval(autoSlide, autoTimer);//Mis en place d'un interval pour le slider auto
}

C'est peut-être pas top, mais ça fonctionne bien

Alise
from flashforum-oi.info
0
goujon6 Messages postés 2 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 10 octobre 2006
10 oct. 2006 à 09:32
Bonjour à tous,

Mon problème est un peu identique.

Dans mon développement je cherche à utiliser simultanément
plusieurs setInterval.

Dans le corps du site, un fonction exploitant un interval pour temporiser le temps d'affichage d'une fenetre message.
Simultanément, la gestion d'un train de diaporamas :
affichage toutes les 15 s d'un diaporama différent et preload du suivant
Et à l'intérieur de chacun d'eux (le diap. actif et celui preloadé)
la gestion d'un ou plusieurs intervals pour rythmer l'affichage des photos selon l'envie du propriétaire du diaporama.

Le problème :
L'imbrication et la cohabitation de ces différents setInterval entre en conflit.
L'un d'entres eux prend la main et agit sur l'interval voisin.

L'intervalID est théoriquement une var unique ?
Pourtant je n'arrive pas à stabiliser la méthode.

L'utilisation d'un tableau stockant les différents intervalID serait m'a-t-on dit la solution, mais je ne vois pas comment construire cette architecture.

Auriez-vous une idée ?

Grand merci
Denis
0
Rejoignez-nous