Arret d'un compteur quand il arrive a zero

Résolu
pioupioupioupiou Messages postés 15 Date d'inscription dimanche 21 août 2005 Statut Membre Dernière intervention 13 octobre 2006 - 12 oct. 2006 à 22:04
jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010 - 13 oct. 2006 à 11:39
Bonsoir à tous,

Cette page permet de calculer le nombre de seconde entre 2 dates et de lancer un décompteur.  Mon probleme est losque que le compteur arrive a zero, comment arrété le compteur et afficher un bouton à la place du décompte.


merci pour votre aide !!!


voici le code:


 




<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel='stylesheet' href="../style.css" type='text/css'>
<?
   $db = mysql_connect('localhost','root','');
      mysql_select_db('generals',$db);
      $con "SELECT `login` FROM joueur WHERE `id` '".$_SESSION['id_joueur']."';" ;
      $resultat = mysql_query($con) OR die('erreur selection login joueur');
   $fetch = mysql_fetch_array($resultat) ;
     $joueur = $fetch[0] ;
      $con "SELECT `type`,`debut`,`fin`,`attaquant`,`defenseur` FROM action WHERE `attaquant` '".$joueur."' OR `defenseur` = '".$joueur."' ;" ;
      $resultat = mysql_query($con) OR die('erreur selection action');
   $infos = mysql_num_rows($resultat) ;


   if($infos!=0){
     $fetch = mysql_fetch_array($resultat) ;  
       $type = $fetch[0] ;
  $debut = $fetch[1] ;
  $fin = $fetch[2] ;
  $attaquant = $fetch[3] ;
  $defenseur = $fetch[4] ;
  }
  mysql_close();
?>


<form name="form">
" name="test">
</form>


<script>


// la date à partir de laquelle on compte
//var cible = new Date("december 31 2006 03:00:00");


var cible = new Date(document.form.test.value);




// nombre de millisecondes par jour, heure, minute et seconde
var mms_heure = 60 * 60 * 1000;
var mms_minute = 60 * 1000;
var mms_seconde = 1000;


function decompte() {


// la date courante
var aujourdhui = new Date();


// on crée les variables qui accueilleront les différences entre aujourd'hui et la date à atteindre
var change_j = -1;
var change_h = -1;
var change_m = -1;


// le total de millisecondes de différences
var diff_mms = cible.getTime() - aujourdhui.getTime();


// pour les heures
diff_heures = Math.floor(diff_mms / mms_heure);
diff_mms -= diff_heures * mms_heure;


// les... minutes
diff_minutes = Math.floor(diff_mms / mms_minute);
diff_mms -= diff_minutes * mms_minute;


// les secondes
var diff_secondes = Math.floor(diff_mms / mms_seconde);


//j'ai essayé mais bon c'est pas top
/*if(document.formulaire.heures.value <= '0'){
   document.write('Terminé');       
}*/




// on affecte nos résultats aux champs du formulaire
document.formulaire.heures.value = diff_heures;
document.formulaire.minutes.value = diff_minutes;
document.formulaire.secondes.value = diff_secondes;


// on relance la fonction pour actualiser à la seconde
setTimeout("decompte()",1000);
}
</script>
 </head> 

  


<?


if($infos!=0){
  echo('
       ----

          
    <form name="formulaire">
   
        <center>
       '.$type.' de '.$defenseur.'.

       Il reste encore :
        heures
        minutes
        secondes  !!
     </center>
   
    </form>
    ,
  
   

 
  ');
}else{
  echo('
          ----

            <center>Rien a signalé pour le moment mon général</center>
    ,
  
   

  ');
}
   
?>



3 réponses

jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010
13 oct. 2006 à 08:40
Hello =)

if(document.formulaire.heures.value <= '0'){

   document.write('Terminé');


Tu initialise un timer donc pour l'arrêter il faut que tu face à la
place de document.write un clearTimeout(monTimer), que tu déclare ton
monTimer en variable globale et que tu l'initialise comme ça :

          monTimer = setTimeout("decompte()",1000);


Voilou =) bonne chance
3
pioupioupioupiou Messages postés 15 Date d'inscription dimanche 21 août 2005 Statut Membre Dernière intervention 13 octobre 2006
13 oct. 2006 à 10:47
ok c'est good sa fonctione !!! merci
0
jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010
13 oct. 2006 à 11:39
De rien =D
0
Rejoignez-nous