Bonjour à tous.
Avant de vous exposer le problème que je rencontre (je suis malheureusement très mauvais en js), voici le bout de code en question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <div id="contactor"> <center> <span class="soustitre">message 1.</span><br /> </center> <SCRIPT LANGUAGE="JavaScript"> document.write('<form action="index.php?page=presentation" method="post">'); var text = '<center><br /><span class="soustitre">message 2.</span><br /></center>'; var text2 = '<center><br /><span class="soustitre">message 3.</span><br /></center>'; var text3 = '<center><br /><span class="soustitre">message 4.</span><br /></center>'; var textvalider = '<center><br /><br /><input type="submit" value="Valider" /><br /></center>'; var textfin = '<center><br /><span class="soustitre">fin</span><br /></center>'; function affiche_texte(texte){ document.getElementById('contactor').innerHTML += texte; } var timer = setTimeout(function() { affiche_texte(text) },67000); timer = setTimeout(function() { affiche_texte(text2) },132000); timer = setTimeout(function() { affiche_texte(text3) },199000); timer = window.setTimeout(function() { affiche_texte(textvalider) },275000); timer = setTimeout(function() { affiche_texte(textfin) },280000); clearTimeout(timer); </SCRIPT> </div>
Voilà le problème: avec ce code, tous les messages s'affichent progressivement les uns à la suite des autres (selon le chrono que je leur ai affecté à chacun), jusqu'au 5ème à savoir le fameux "valider"...
Par contre le message "fin", lui ne s'affiche jamais. De plus, et c'est le plus grave, le compteur timer (qui permet d'afficher les messages selon leurs chronos) ne s'arrête jamais, et ce, malgré le clearTimeout (qui est censé détruire le compteur il m'avait semblé ?).
En revanche, si je ne mets pas de clearTimeout tout s'affiche normalement... Le problème étant évidemment que le compteur continuera également à tourner (jusqu'à dévorer l'intégralité de la mémoire du pc ?? parce qu'à la vérité, la première fois je m'en étais pas rendu compte et deux ou trois jours plus tard, alors que je n'avais pas éteint mon ordinateur depuis, mon disque dur avait rétrécit de moitié... Donc je me pose la question)
J'aimerais également que le timer se détruise automatiquement si on ferme la fenêtre du navigateur avant la fin du décompte... car dans le cas par exemple, où on ferme la fenêtre par inadvertance, ce serait ennuyant de laisser le compteur continuer à manger la mémoire (si tel est bien le cas ?).
En tous cas, merci d'avance pour l'éclairage ou l'aide éventuelle que vous pourriez m'apporter.
Partager