Timer Javascript

Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
- - Dernière réponse : Gigatrappeur
Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
- 7 mai 2013 à 10:19
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
Afficher la suite 

5 réponses

Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
0
Merci
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>
Commenter la réponse de cs_jperre
Messages postés
42
Date d'inscription
samedi 14 juin 2003
Statut
Membre
Dernière intervention
10 juin 2013
0
Merci
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
Commenter la réponse de cs_vargas
Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
1
0
Merci
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
Commenter la réponse de Gigatrappeur
Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
1
0
Merci
Pardon, mal lu...

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

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