Timer Javascript

Signaler
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
-
Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
-
Bonjour à tous

j'ai programmé une timer pour mon système de gestion du temps en PHP avec l'option play et pause que fonction parfaitement. Mon problème maintenant c'est que je besoin d'enregistrer le temps écoulé du timer dans un cookie pour si l'utilisateur actualise la page le temps ne soit pas perdu.

voici mon code javascript;
 
function startTimer() 
{
action= window.setInterval(countSecs,1000);
}
function pause() 
{
  // pauses countdown
  clearTimeout(action);
};
 
var temps=document.getElementById("timeBox").value;
var tableau = temps.split(':');

var heures =  tableau[0];
var minutes = tableau[1];
var seconds = 00;


 
function zeroPad(time) 
{
   var numZeropad = time + '';
   while(numZeropad.length < 2) 
   {
numZeropad ="0" + numZeropad;
   }
   return numZeropad;
}

function countSecs() 
{
        seconds++;

if (seconds > 59) 
{
    		 minutes++;
    		 seconds = 0;
  		}
    if(minutes > 59)
    {
  heures++;
    	  minutes = 0;
  seconds = 0;
    }
document.getElementById("timeBox").value = zeroPad(heures) + ":" + zeroPad( minutes);
 	}


J'ai essayé de faire le set cookie et le Get cookie, mais sans résultats.
Si Quelqu'un de doué en javascript peut me donner un coup main. ça fait des jour que je travail dans c'est problème sans trouver un solution.

Merci bcp

5 réponses

Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
Voici un exemple qui affiche un compteur de secondes avec des boutons "Démarrer" et "Arrêter".
Il suffit d'initialiser la variable c avec la valeur du cookie pour faire démarrer le décompte à partir de cette valeur.

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var c=0;
var t;
var timer_is_on=0;

function timedCount()
{
document.getElementById('txt').value=c;
c=c+1;
t=setTimeout("timedCount()",1000);
}

function doTimer()
{
if (!timer_is_on)
{
timer_is_on=1;
timedCount();
}
}

function stopCount()
{
clearTimeout(t);
timer_is_on=0;
}
</script>
</head>

<form>



</form>
Cliquez sur le bouton ci dessus. La zone de texte affichera
le décompte continu des secondes en partant de zéro. Cliquez sur le bouton
"Arrêter le décompte" pour l'interrompre.



</html>
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013

Merci pour ta réponse

J'ai commencé à perdre espoir, d'avoir une possible solution.
Ma question est si l'utilisateur actualise la page le temps va continue à s’additionner au il doit refaire clic sur démarrer.

Merci
Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
1
Bonjour,

Utilise l'évènement "load" de la page pour détecter si le cookies contenant le temps existe déjà.
Si c'est le cas démarre le conteneur.


Cordialement,
Gigatrappeur
Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
1
Pardon, mal lu...

Créer d'abord un cookie à l'aide de l'évènement "unload", par exemple.

Gigatrappeur
Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
1
Si ton sujet est résolu, marque le comme tel.