Bonjour,
J'ai une fonction Javascript qui fonctionne en boucle toutes les 4 secondes pour recharger un DIV.
Comment puis-je faire pour inclure dedans un timeout de 60 secondes?
Dois-je utiliser setTimeout? Mais comment?
Merci de vos réponses,
Version imprimable
Bonjour,
J'ai une fonction Javascript qui fonctionne en boucle toutes les 4 secondes pour recharger un DIV.
Comment puis-je faire pour inclure dedans un timeout de 60 secondes?
Dois-je utiliser setTimeout? Mais comment?
Merci de vos réponses,
heu j'ai pas bein saisi...
tu veux toutes les 4 secondes réactualiser un div toutes les 60 secondes ?
Bonjour SpiceFrog,
Non je me suis mal exprimé...
J'utilise une fonction JS qui rafraîchi mon div toutes les 4 secondes.
Je souhaiterais limiter cette action dans le temps et définir que cela ne dépasse pas 60 secondes, a partir du moment ou la fonction a été lancée.
Donc rafraîchir toutes les 4 secondes pendant 60 secondes.
Y a t il un moyen d'effectuer un exit ou autre?
comment l'exprimer?
Je travaille en PHP et n'ai pas beaucoup l'habitude de JS. En fait, j'ai souvent utilisé du code disponible mais n'ai pas toujours la gymnastique nécessaire sachant que ce code se trouvera dans la page.
As-tu une idée?
un compteur d'occurrences et un cleraInterval lorsque le max est atteint ...
Code:
1
2
3
4
5
6
7
8
9
10
11 var compteur=0; function rafraichirDiv(){ //ici tu rafraichis le div; compteur++; if (compteur == 15){clearInterval(RunRafraichir)} } var RunRafraichir = setInterval(function(){rafraichirDiv()},4000)
Je pense avoir compris le principe mais j'ai du mal a l'adapter au code que je posséde.
Pour rafraichir mon div, j'utilise la classe php dnrefresh, proposée par
docteur.night
Ce qui génère ceci dans ma page:
Ici c'est window.onload qui effectue l'action finale du refresh...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <script type="text/javascript"> <!-- function refresh_loop(refresh_id) { eval('if ( content_to_refresh_' + refresh_id + ' != null ) { eval(content_to_refresh_' + refresh_id + '); content_to_refresh_' + refresh_id + ' = null; }'); setTimeout('refresh_loop(' + refresh_id + ');', 200); } function refresh_action(refresh_id, file_name, refresh_time) { Stamp = new Date(); document.getElementById('FareInfo' + refresh_id).innerHTML = '<iframe src="' + file_name + 'time=' + Stamp.getMinutes() + Stamp.getSeconds() + Stamp.getDay() + '&refresh_id=' + refresh_id + '"></' + 'iframe>'; if ( refresh_time ) { setTimeout('refresh_action(' + refresh_id + ', \'' + file_name + '\', ' + refresh_time + ')', refresh_time); } } window.onload = function() { content_to_refresh_1 = null; refresh_action(1, 'RefreshInfo.php', 4000); refresh_loop(1); }; //--> </script> <div id="InfoDiv1" style="position:absolute;top:-9999px;left:-9999px;width:0px;height:0px;overflow:hidden"></div>
J'ai bien tenté de contacter l'auteur mais... en vain...
Si j'avais les infos modifiant le JS je saurais sans souci modifier ma page PHP...
ben en fait là tu utilises un setTimeout ... pas un setInterval...
Je te conseille de basculer pour un setInterval ...