Déclanchement d'une fonction toute les X secondes...

Signaler
Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
19 décembre 2009
-
Messages postés
1771
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
20 novembre 2020
-
Bonjour!

J'ai une fonction qui ce déclenche comme ça:

            [javascript:blendimage('blenddiv','blendimage', './images/yeux6.jpg',800) Image 1]
            [javascript:blendimage('blenddiv','blendimage', './images/yeux1.jpg',1600) Image 2]
            [javascript:blendimage('blenddiv','blendimage', './images/yeux2.jpg',2400) Image 3]

En cliquant sur les lien hypertexte, mais j'aimerais passer d'une image a une autre par cette fonction toutes les X secondes, quelle ce déclenche a l'ouverture de la page et en boucle...

Dans la même idée est il possible de lancer les déclenchement a des heures précise, tous les jours?

Merci pour votre aide!

Az

9 réponses

Messages postés
1771
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
20 novembre 2020
107
pour declenche une fonction a intervall regulier soit tu utilise setTimeout qui se trouvera dans la fonction ou setIntervall qui sera une fonction a part ensuite il faudrait que tu renseigne de l'image a afficher

pour la deuxieme question j'ai en exemple qui doit ressembler a ce que tu cherche

<html> <head>
<title>Titre de la page</title>
<script language="JavaScript">

function timechange(){

var horaire=new Date()
var heures=horaire.getHours()

var imamage="nom_image1"

if (heures>5){
imamage="nom_image2"
}
if (heures>12){
imamage="nom_image3"
}
if (heures>16){
imamage="nom_image4"
}
if (heures>22){
imamage="nom_image5"
}
document.getElementById('divimage').src=imamage+".jpg"
}
</script>
</head>

</html>
Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
19 décembre 2009
1
Rahhh!!! Je sais comment m'y prendre....

<script language="JavaScript">
function yeux() {
for (i=1; i<=4; i++){
       if (i=1) {
               blendimage('blenddiv','blendimage', './images/yeux6.jpg',800);
       }
       if (i=2) {
               blendimage('blenddiv','blendimage', './images/yeux1.jpg',1600);
       }
       if (i=3) {
               blendimage('blenddiv','blendimage', './images/yeux2.jpg',2400);
            i=0;
       }
   }
}
</script>

Je sais que c'est pas ca mais je sait pas comment faire...

Az
Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
19 décembre 2009
1
Je viens de tenter ca:

<script language="JavaScript">
function yeux() {

var tempo = 800;

for (i=1; i<=5; i++){
       if (i=1) {
               setInterval("blendimage('blenddiv','blendimage', './images/yeux'+i+'.jpg',tempo)", 1000);
            tempo = tempo+800;
            if (i<=4){
                i=0;
                tempo = 800;
            }
       }
   }
}
</script>

Ca marche pas et ca plante mon navigateur...

Az
Messages postés
1771
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
20 novembre 2020
107
que fait exactement la fonction
Messages postés
1771
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
20 novembre 2020
107
plus precisement que doit faire l'ensemble de ton script ??
Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
19 décembre 2009
1
En faite cette fonction:

blendimage('blenddiv','blendimage', './images/yeux1.jpg',1000)

Me sert à faire un fade entre 2 images, par exemple:

blendimage('blenddiv','blendimage', './images/yeux1.jpg',1000)
blendimage('blenddiv','blendimage', './images/yeux2.jpg',2000)

Mais je voudrais quelle s'exécute dans l'ordre a l'ouverture de la page, avec une pause entre chaque images, puis a la dernière repartir a la 1er.

Voila merci de ton aide!

Az
Messages postés
1771
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
20 novembre 2020
107
je sais pas si c'est exactement ce que tu cherche car celon ce que j'ai compris il y a un fondu entre chaque images

<html>
<head>
<script>
varcompteur=1
tbimage=new array('nomimage1.jpg','nomimage2.jpg','nomimage3.jpg')

function defilmage(){
if(compteur==tbimage.length){
compteur=0
}
document.getElementById('divimage').src=tbimage[compteur]
compteur++
setTimeout("defilmage()",1000)
}
</script>
</head>

</html>
Messages postés
186
Date d'inscription
vendredi 18 novembre 2005
Statut
Membre
Dernière intervention
19 décembre 2009
1
Merci, j'ai tésté mais a cause de mon autre fonction ca marche pas :s

J'en suis la!! J'avance... Mais c'est pas ennorme...

function yeux() {
    var num_image = 0;
    var tempo = 0;
    var temps = 0;
   
    for (i=1; i<7; i++) {
        var tempo = tempo+7000;
        var num_image = num_image+1;
        var temps = temps+20000;
           
        if (num_image>7) {
            var num_image = 1;
            var tempo = 7000;
            var temps = 20000;
        }
        setTimeout("blendimage('blenddiv','blendimage', './images/yeux"+num_image+".jpg',"+tempo+")",temps);
    }
}

Voila ma fonction! Elle marche!! Par contre elle ne s'exécute pas en boucle et ne ce lance pas automatiquement au chargement de la page...

Az
Messages postés
1771
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
20 novembre 2020
107
tu t'approche mais se que tu doit faire c'est appeler la fonction yeux qui appelera l'autre fonction

je sais pas vraiment si la variable temps est utile car sa veut dire que la fonction se declenchera deux seconde de plus a chaque changement d'image(toutes les  2 4 6 secondes)

function yeux() {
    var num_image = 0;
    var tempo = 0;
    var temps = 0;
   
        tempo = tempo+7000;
        num_image = num_image+1;
        temps = temps+20000;
           
        if (num_image>7) {
            var num_image = 1;
            var tempo = 7000;
            var temps = 20000;
        }

blendimage("'blenddiv','blendimage', './images/yeux"+num_image+".jpg'"+tempo)


    
 setTimeout("

yeux()

")",temps);
}

pour quelle se mette en route au demarage tu l'appel dans le body