Compte à rebours en année

Fermé
Ben - 16 déc. 2012 à 14:13
mbu725 Messages postés 21 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 3 août 2013 - 19 déc. 2012 à 02:24
Bonjour,


et joyeux 16 décembre à tous :p

Je viens ici pour vous demander de l'aide, j'ai besoin de créer un compte à rebours en année.

Je m'explique en détail, le compte a rebours doit durer 5 ans, mais la vitesse doit être réglable. (exemple : 10 minutes du compte à rebours = 1 minutes réelles

On m'a dit que c'était quelques choses de faisable en Javascript, mais manque de bol je n'y connais pas grand chose, j'ai trouvé différents scripts permettant de créer des comptes à rebours mais je ne vois pas du tout comment les modifier pour obtenir mon compte à rebours

Voici un des nombreux codes que j'ai trouvé :

<!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>


J'ai donc besoin de vous, et si possible avec quelques détails pour que je comprenne bien :)

Merci à tout ceux qui me répondront

Cordialement
Ben
A voir également:

1 réponse

mbu725 Messages postés 21 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 3 août 2013 1
19 déc. 2012 à 02:24
Je crois que le script devrait tourner autour de la fonction setInterval(). Celle-ci permet d'éxécuter une même fonction à intervalles réguliers. Par exemple, on pourrait faire éxécuter une fonction toutes les secondes qui décrémenterait le compte à rebours d'une seconde (ou plus).

Cette fonction prend au minimum deux paramètres, soit dans l'ordre :
- la fonction à éxécuter
- l'intervalle, en millisecondes
- les autres paramètres, optionnels, peuvent servir à passer des paramètres à notre fonction

Ensuite, il ne reste qu'à créer une fonction qui affiche le temps restant sur la page (idéalement, qui s'éxécute juste après celle qui met à jour le compte à rebours).

Exemple :
var tempsRestant = 157680000; // 5 ans en secondes
var vitesse = 1; // Nombre de secondes du c.à.b. par sec. réelle

function decrementer(){
    tempsRestant -= vitesse;
}
function afficher(){
    document.getElementById... etc. etc. etc.
}

setInterval(decrementer, 1000);


Il ne reste qu'à déterminer la date de fin du compte à rebours, afin que la variable tempsRestant se trouve automatiquement à la bonne valeur dès le démarrage du script, selon la date et l'heure actuelle. Faisable avec l'objet Date.
0