Compte a rebours dynamique

Fermé
Krorys - 30 mai 2010 à 15:26
 Krorys - 1 juin 2010 à 09:20
Bonjour,
J'aurais besoin d'un compte a rebours dynamique.
C-a-d un compte a rebours ou l'on n'a pas besoin de rafraichir la page pour qu'il s'actualise.
MAIS, qu'il soit adapté pour que quand je clic sur un bouton pour finir mon formulaire, a ce moment la il commence pour 2h.
Une fois les 2h fini , si l'utilisateur en a envie il peut refaire le formulaire et donc le compte a rebours se remet.
Bien sur, chaque utilisateur aurait son compte a rebours, pas un seul pour tous.

Donc ça exclut tous compte a rebours avec jours et autre.
Il ne me faut qu'un compte a rebours qui s'actualise a chaque seconde qui puisse se refaire a chaque fois que je refais le formulaire.

Merci d'avance.


10 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
30 mai 2010 à 17:40
http://www.siteduzero.com/tutoriel-3-195423-un-compte-a-rebours-en-php.html
0
Justement, je ne dois pas avoir de date précise, je l'ai précisé dans le post...
0
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
30 mai 2010 à 19:11
<div id="stopwatch"></div>
<script type="text/javascript">
var secon=0 ;//initialise les secondes
var minu=0; //initialise les minutes
var heur=2; //initialise les minutes

function chrono(){
if (secon != 0 || minu != 0 || heur != 0){// si on n'atteind pas 00:00:00
secon--;
if (secon<0){secon=59;
if (minu >0){ minu--}else{minu=59; heur--;}
}
if (secon < 10 ){ secondes = '0'+secon;}else {secondes = secon;}
if (minu < 10 ) {minutes = '0'+minu;}else {minutes = minu;}
if (heur < 10 ) {heures = '0'+heur;}else {heures = heur;}
document.getElementById('stopwatch').innerHTML = heures+' : '+minutes+' : '+secondes;
compte=setTimeout('chrono()',1000) //la fonction est relancée tous les secondes
}
}
chrono();
</script>
0
Il ne se passe strictement rien...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
30 mai 2010 à 20:28
je te transmet le code de toute la page.
Crée un nouveau document et vierge et copie dedans ce code, ça va marcher, t'as surement eu un probleme d'integration
0
Ok, merci =D
0
Encore la?><
0
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
31 mai 2010 à 13:57
Excuse moi, j'ai cru avoir copié ce code.
le voila:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<div id="stopwatch"></div>
<script type="text/javascript">
var secon=0 ;//initialise les secondes
var minu=0; //initialise les minutes
var heur=2; //initialise les minutes

function chrono(){
if (secon != 0 || minu != 0 || heur != 0){// si on n'atteind pas 00:00:00
secon--;
if (secon<0){secon=59;
if (minu >0){ minu--}else{minu=59; heur--;}
}
if (secon < 10 ){ secondes = '0'+secon;}else {secondes = secon;}
if (minu < 10 ) {minutes = '0'+minu;}else {minutes = minu;}
if (heur < 10 ) {heures = '0'+heur;}else {heures = heur;}
document.getElementById('stopwatch').innerHTML = heures+' : '+minutes+' : '+secondes;
compte=setTimeout('chrono()',1000) //la fonction est relancée tous les secondes
}
}
chrono();
</script>

</body>
</html>
0
Merci, ça marche !
Sauf un truc, des que je re actualise la page, le compteur se reinitialise aussi :'(
Tu ne saurais pas comment faire pour qu'il continue?
0
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
31 mai 2010 à 15:13
Ce compte a rebous est en javascript, ceci dit il est executé sur l'ordinateur local et aucune interaction avec le serveur.
Il existe une solution pour ton probleme qui consiste a envoyer l'etat de ton compte a rebous au serveur toutes les secondes via ajax pour l'enregistrer dans des variables sessions, mais la ça va allourdir ton traitement et ça va plutot generer des problemes liés a la bande passante. En plus ça ne permet pas de continuer le comptage lors des quelques secondes de rafraichissement.
Une autre solution, consiste a enregistrer l'heure du debut de comptage dans des variables session via ajax afin de servir de reference en cas de rafraichissement.
En plus c'est au client de garder son navigateur ouvert sur la même page et attendre afin de commencer un telechargement par exemple.
0
J'ai l'heure d'enregistrement et celui ou il doit finir, mais que faire avec?
0
Finalement, j'arrete...
0