[javascript] Compte à rebours

Fermé
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 27 nov. 2009 à 21:45
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 28 nov. 2009 à 14:48
Bonjour à tous, j'ai un petit probleme j'ai réussit à trouver un code pour faire un decompte en javascript.j'ai trouvé ceci :
<!-- This document was created with HomeSite v2.5 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">

<HTML>
<HEAD>
<TITLE>Décompte JavaScript</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
// Décompte JavaScript (C)1997 Cyril Pannetier - La Petite Boutique Java & JavaScript -
// web : http://www.mygale.org/08/pannetie
// e-mail : pannetie@mygale.org
// Ce script est librement utilisable. Merci de ne pas effacer ces commentaires.

var Mois = new Array(12);
var Jours = new Array(7);

function Decompte(msg1,msg2,endmsg,datetemoin,cible,Fonction) {

this.Target = cible;
this.fonction = Fonction + '.Affiche()'; // Nom de l'objet JavaScript
this.timeout = null;
this.datebase = new Date(datetemoin);
this.mesg1 = msg1;
this.mesg2 = msg2;
this.end = endmsg;
this.ToStop = false;

this.Init = Initialise;
this.Affiche = Affichage;
this.Stop = StopAll;

this.Init();
this.Affiche();
}

function Initialise() {
var cur = new Date();
var diff = this.datebase.getTime() - cur.getTime();
this.ToStop = (this.end != '');
}

function Affichage() {
var out;
curdate = new Date();
if ( (this.ToStop) && ( (this.datebase.getTime() - curdate.getTime()) <= 0 ) ) {
if (this.Target == "") {
window.status = this.end;
}
else {
this.Target.value = this.end;
}
StopAll();
}
else {
difference = Math.abs(this.datebase.getTime() - curdate.getTime());
difference = Math.floor(difference / 1000);
nbj = Math.floor(difference / 86400);
difference = difference % 86400;
nbh = Math.floor(difference / 3600);
difference = difference % 3600;
nbm = Math.floor(difference / 60);
difference = difference % 60;
nbs = difference;
out = this.mesg1 + ' ' + nbj;
if (nbj == 1)
out += ' jour ' + nbh;
else
out += ' jours ' + nbh;
if (nbh == 1)
out += ' heure ' + nbm;
else
out += ' heures ' + nbm;
if (nbm == 1)
out += ' minute ' + nbs;
else
out += ' minutes ' + nbs;
if (nbs == 1)
out += ' seconde ' + this.mesg2;
else out += ' secondes ' + this.mesg2;

if (this.Target == "") {
window.status = out;
}
else {
this.Target.value = out;
}
this.timeout = window.setTimeout(this.fonction,1000);
}
}

// Fonction Arret
function StopAll() {
clearTimeout(this.timeout);
this.timeout = null;
}
//-->
</SCRIPT>
</HEAD>

<BODY onLoad = "LeDecompte = new Decompte('','','Bonne Année. Bienvenue dans le nouveau millénaire!','30 nov, 2009 21:36:00',document.JSCLOCK.CLOCK,'LeDecompte');"
onUnload = 'LeDecompte.Stop();'>

<H1>Décompte de temps en JavaScript : Jusqu'à une date donnée</H1>
<HR>

<CENTER>
<FORM NAME="JSCLOCK">
<INPUT NAME="CLOCK" SIZE=40 VALUE="champ 1"><BR>
</FORM>
</CENTER>
<HR>



</BODY>
</HTML>


Par contre j'ai un petit problème et vu que je ne m'y connet pas trop en javascript...
J'aimerais faire un test du genre
if(il reste encore du temps){
j'affiche le temps
}
else{
je renvoit sur une page
}
et bien entendu le script doit bien se mettre à jour en même temps que le décompte...pas qu'il y est besoin de recharger la page....

Alors j'ai essayé de mettre une redirection dans function StopAll() mais ça ne fonction pas


Merci bcp de votre aide<code>
A voir également:

3 réponses

widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
28 nov. 2009 à 12:06
SVP
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 975
28 nov. 2009 à 12:27
je te conseille le flash pour un comtpe a rebours, plus propre et plus joli que javascript :)
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
28 nov. 2009 à 14:48
ben je connait pas grand chose en javascript mais alors le flash c'est encore pire
en plus je n'ai pas le logiciel adequate pour modifier les .fla
merci de votre aide j'aimerais juste modifier le script donné plus haut pour rediriger vers une page lorsque le temps est fini
Merci
0