Timer Javascript

cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013 - 2 avril 2013 à 19:52
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

5 réponses

cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
3 avril 2013 à 17:09
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>
0
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
4 avril 2013 à 16:57
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
0
Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 1
7 mai 2013 à 10:16
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
0
Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 1
7 mai 2013 à 10:18
Pardon, mal lu...

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

Gigatrappeur
0

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

Posez votre question
Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 1
7 mai 2013 à 10:19
Si ton sujet est résolu, marque le comme tel.
0
Rejoignez-nous