Fonction à jouer en boucle

Mammouth du PHP | 737 Messages

07 nov. 2011, 06:17

Bonjour,

Il est 5h, Paris s'éveille :)

Je cherche le moyen de boucler sur une fonction. En fait j'aimerai qu'elle se joue ad vitam aeternam ou bien n fois.

J'ai essayé bêtement un for i ou un while en vain...

Il s'agit d'un diaporama perso et je ne vois pas comment je peux lui dire arriver à terme, tu repars à 0 à l'état 1.

L'exemple peut être pris avec tu dois fermer 10 fois une alert par exemple.

Merci de votre aide.

Mega
;)
Dyslexics are teople poo

ViPHP
xTG
ViPHP | 7331 Messages

07 nov. 2011, 09:54

Regardes du côté de setInterval().

Mammouth du PHP | 737 Messages

07 nov. 2011, 11:14

Re xTG et merci :)

Par contre ma fonction débute sur l'événement onload de body hors apparemment pour placer mon setInterval il me faut une variable var x = setInterval...

Ca va pas être problématique ?

Bien cordialement,

Mega
;)
Dyslexics are teople poo

ViPHP
xTG
ViPHP | 7331 Messages

07 nov. 2011, 12:51

A la fin de ta fonction tu mets ton setInterval rappelant la même fonction. ;)

Mammouth du PHP | 737 Messages

07 nov. 2011, 17:25

Re xTG,

J'ai essayé mais je crois qu'il n'aime pas le rappel via var x = setInterval...

Voici mon code qui marche 1 fois, si tu veux bien y jeter ton oeil averti, je m'appuie sur du jquery et du scriptaculous comme tu peux voir ;)

Code : Tout sélectionner

function mondiapo(){ new Effect.Appear('div1', {delay:8, duration:4, fps:40, from:0.0, to:1.0}); Effect.Fade('div1', {delay:12, duration:4}); new Effect.Appear('div2', {delay:16, duration:4, fps:40, from:0.0, to:1.0}); Effect.Fade('div2', {delay:20, duration:4}); new Effect.Appear('div3', {delay:24, duration:4, fps:40, from:0.0, to:1.0}); Effect.Fade('div3', {delay:28, duration:4}); }
Mega
;)
Dyslexics are teople poo

Mammouth du PHP | 737 Messages

08 nov. 2011, 10:52

Bonjour,

C'est résolu !!!

Grâce à toi xTG (qu'est ce que je peux me compliquer la vie parfois :roll:)

Après ma fonction, en dehors de celle-ci j'ai placé un :

Code : Tout sélectionner

var kiloop=setInterval("mafonction", 20000);
Mega
;)
Dyslexics are teople poo

ViPHP
xTG
ViPHP | 7331 Messages

08 nov. 2011, 11:24

En fait si tu avais voulu la mettre à l'intérieur il fallait l'enregistrer dans une variable globale et non dans une variable locale à la fonction. ;)

Mammouth du PHP | 737 Messages

23 nov. 2011, 12:57

Re xTG,

Je reviens sur le sujet car j'ai une petite interrogation sup'

Est-ce qu'on peut différer le début de l'intervalle c'est à dire s'assurer que la fonction a bien été jouée une fois complètement pour lancer l'intervalle sans faire de boucle infinie ou de conflit avec la même fonction, car on est d'accord que pour lancer directement la fonction il faut jouer sur le onload mais le chargement de ma page me pose un problème.

Le setInterval me plait bien mais si je comprends bien ca démarre au bout de n secondes et pas une première fois puis ensuite toutes les n secondes...

Je ne sais pas si je suis clair.

Mega
;)
Dyslexics are teople poo