Fonction de rafraichissement avec settimeout

Signaler
Messages postés
42
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
8 février 2007
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,

j'essaie de mettre une fonction qui va raffraichir ma page principale.

Pour cela, j'ai décidé d'utiliser la fonction settimeout, mais je suis face à un pb et je ne comprends pas.

Dans ma page principale, j'ai mis.

obj.setTime(10000);


Et dans ma classe obj, dans ma fonction init(), je fais appel à une fonction timed() dont voici le corps

function timed(){

        alert('test');    

        setTimeout("timed",10000);   

    }


Et cela ne fonctionne pas, la première fois j'ai le message "test" qui
s'affiche mais ensuite plus rien, j'ai une erreur javascript

apparemment "object attendu".


Quelqu'un aurait-il une piste?

Merci d'avance.


MissCeline33

9 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour,

    setTimeout("timed();",10000);   // (), sinon ce n'est pas une fonction

    mais s'il ne s'agit que de rafraîchir régulièrement,
    pourquoi pas : la balise <meta   http-equiv= "Refresh"
                                                    content=" délai en secondes ; URL =adresse de la page htm">
       comme ça, même si le javascript est désactivé, ça biagne



<hr />



Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
au fait...
Dans ma page principale, j'ai mis. obj.setTime(10000);


pas compris ça ...





<hr />Cordialement                Bul             [mon Site]     [M'écrire]     
<hr />
Messages postés
42
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
8 février 2007

Désolée c'est une faute de recopie j'ai bien

setTimeout("timed()",10000);  

Et cela ne fonctionne pas quand même!


Sinon, pour ton autre solution je la mets où la balise META?


obj.setTime(10000) est ecrit dans mon fichier index.html,

Il appelle la fonction setTime de l'objet obj (c'est une classe
javascript) qui me permet d'affecter une variable de la classe obj .

Cette variable contient donc le delai à appliquer entre les timeout.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
<script type="text/javascript">
function timed(){
        var d=new Date()
      document.body.innerHTML+=d+"
";
      setTimeout("timed();",1000);  
    }
timed();
</script>


>>obj.setTime(10000) est ecrit dans mon fichier index.html,
>>Il
appelle la fonction setTime de l'objet obj (c'est une classe
javascript)
>>qui me permet d'affecter une variable de la classe obj .
c'est bien... et quoi que c'est la fonction setTime ???

>>je la mets où la balise META?
comme toute balise html : n'importe où.
perso, je la met entre <head> et </head>... mais peu importe
la page chargée ( interprétée ? ), on chargera la page citée après le délai donné



<hr />



Cordialement            Bul         [mon Site]     [M'écrire]        




<hr />
Messages postés
42
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
8 février 2007

OK merci,

là je n'ai aps le temps de tester, mais je teste ce soir ou demain, et je te tiens au courant.

Merci beaucoup.


MissCeline33
Messages postés
42
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
8 février 2007

Ma fonction setTime(), et juste une fonction de classe qui affecte la variable de classe delay, nécessaire au setTimeout.

Mon problème vient du fait que ma fonction timed() est une fonction de classe, donc dans l'appel j'ai essayé avec

setTimeout("this.timed()",1000) mais ca ne marche pas.........
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
si on n'en vois pas plus :
car dans une classe ou pas, ça baigne.
<hr />


Cordialement                Bul             [mon Site]         [M'écrire]  




<hr />
Messages postés
42
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
8 février 2007

Je te remercie bultez .

C'est bon, j'ai trouvé, en faisant avec le setTimeout(),, il fallait que je rajoute ID.timed() et non timed() tout court.

Je sais pas si c'est normal, mais en tous les cas ca fonctionne donc c'est cool!!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
si ça biagne, c'est nickel...
nous, on ne pouvait pas résoudre... sans les données...
<hr />


Cordialement                Bul             [mon Site]         [M'écrire]  




<hr />