Version complète: sur le forum Webmaster Hub : Code javascript compte a rebours ... Fichier séparé
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > AjaX et JavaScript
kirai
Bonjour ...
Depuis quelques mois j'utilise ce script pour mon compte a rebours

DANS HEAD
CODE
<script language="JavaScript">
// la date à partir de laquelle on compte
var cible = new Date("June 17, 2007 19:00:00");

// nombre de millisecondes par jour, heure, minute et seconde
var mms_jour = 24 * 60 * 60 * 1000;
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 = -7;
var change_h = -7;
var change_m = -7;

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

// pareil pour les jours
diff_jours = Math.floor(diff_mms / mms_jour);
diff_mms -= diff_jours * mms_jour;

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

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

// les secondes, ce qui reste en fait.
var diff_secondes = Math.floor(diff_mms / mms_seconde);


// on affecte nos résultats aux champs du formulaire
document.getElementById("jours").innerHTML = diff_jours;
document.getElementById("heures").innerHTML = diff_heures;
document.getElementById("minutes").innerHTML = diff_minutes;
document.getElementById("secondes").innerHTML = diff_secondes;


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


DANS LA PAGE
CODE
<form name="formulaire">
                                        <font face="arial" size="1,5"><img src="chrono.jpg" width="24" height="21"><span class="Style5"><span class="Style13">Prochain GP</span>      <span class="Style12">INDIANAPOLIS</span>      
<span class="Style10" id="jours">0</span> <span class="Style10">J</span> <span class="Style11" id="heures">0</span> <span class="Style11">H</span> <span class="Style11" id="minutes">0</span> <span class="Style11">M</span> <span class="Style11" id="secondes">0</span> <span class="Style11">S</span>
                  </form>


Le probleme c'est que tousles 15 jours, je dois modifier la date dans toutes mes pages ... ( blush.gif ) ... Je me demande donc comment ne faire le changement de date qu'une seule fois pour qu'elle se fasse dans toutes les pages. Je pensais ecrire le code javasrcipt dans un fichier separé mais je sais pas comment faire ...

Merci pour votre aide ...
Dan
Bonjour,

Il te suffir de créer un fichier nommé "monjavascript.js" et ajouter cette ligne dans toutes tes pages où tu veux faire tourner ce script:
CODE
<script type="text/javascript" src='monjavascript.js'></script>

en ajoutant éventuellement le répertoire où tu places ce fichier script.

Dan

PS: le fichier ne doit plus contenir les balises <script> ni </script>
kirai
Ok merci moi j'les avais justement laissée ... whistling.gif
kirai
Voila, je viens de faire le changement, mais il s passe toujours rien ... et pourtant tout est fait correctement blush.gif

[EDIT] Finalement, je viens de trouver le probleme ... j'avais oublier <body onLoad="decompte()"> dans a nouvelle page ...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.