Javascript Counter

Mike K

Aktives Mitglied
hi,
arbeite gerade an einem Projekt und hab keine Ahnung von Javascript,

ich bräuchte einen Counter der eine bestimmte Zeit runterzählt.

Das ganze Solte etwas so aufgebaut sein:
QUOTE
[MM]:[ss] Minuten bis zum logout!



Das ganze soll bei 0 stehen bleiben und es soll auch nichts passieren es soll nur als Anzeige dienen.

Ich hoffe ihr könnt mir helfen,

Mike K
 
So benutze ich den auf meiner Pfadfinderseite ... am Ende noch ein wenig den Text anpassen und dann sollte das funktionieren

CODE // Ziel-Datum in MEZ
function countdown(jahr, monat, tag, stunde, minute, sekunde) {
zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
startDatum=new Date(); // Aktuelles Datum
// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if(startDatum < zielDatum) {

var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

// Jahre
while(startDatum<zielDatum) {
jahre++;
startDatum.setFullYear(startDatum.getFullYear()+1);
}
startDatum.setFullYear(startDatum.getFullYear()-1);
jahre--;

// Monate
while(startDatum<zielDatum) {
monate++;
startDatum.setMonth(startDatum.getMonth()+1);
}
startDatum.setMonth(startDatum.getMonth()-1);
monate--;

// Tage
while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
tage++;
startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
}

// Stunden
stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

// Minuten
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);

// Sekunden
sekunden=Math.floor((zielDatum-startDatum)/1000);

// Anzeige formatieren
document.countdownform.countdowninput.value = " ~ ";
if(jahre > 0) {
(jahre!=1)?jahre=jahre+" Jahre, ":jahre=jahre+" Jahr, ";
document.countdownform.countdowninput.value+=jahre;
}
if(monate > 0) {
(monate!=1)?monate=monate+" Monate, ":monate=monate+" Monat, ";
document.countdownform.countdowninput.value+=monate;
}
if(tage > 0) {
(tage!=1)?tage=tage+" Tage, ":tage=tage+" Tag, ";
document.countdownform.countdowninput.value+=tage;
}

(stunden!=1)?stunden=stunden+" Stunden, " : stunden=stunden+" Stunde, ";
(minuten!=1)?minuten=minuten+" Minuten" : minuten=minuten+" Minute";
if(sekunden<10) sekunden="0"+sekunden;
(sekunden!=1)?sekunden=sekunden+" Sekunden" : sekunden=sekunden+" Sekunde";

document.countdownform.countdowninput.value+=stunden+minuten;

setTimeout("countdown("+jahr+", "+monat+", "+tag+", "+stunde+", "+minute+", "+sekunde+")", 60000);
} // Anderenfalls alles auf Null setzen
//else document.countdownform.countdowninput.value="0 Jahre, 0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
else document.countdownform.countdowninput.value=
"... also wer jetzt noch nicht da ist, hat was verpasst ...";
}
 
danke ,
komme aber nicht wirklich weiter damit weil ich von javascript absolut kein ahnung hab bei mir passiert nichts mehr wenn ich das abändere.

gruß mike
 
Wie hast Du's denn abgeändert?
wink.gif


Hinten beim Timeout muss auf jeden Fall die 60000 (60sek.) geändert werden, weil Du ja sekundengenau arbeiten willst, bei mir hat Minutengenau gereicht.

Da wo "Anzeige formatieren" steht muss halt Dein mm:ss rein anstatt Jahre, Stunden etc.... vor dem Kommentar musst Du eigentlich gar nichts ändern
 
hi so hab ich es geändert es klappt aber nicht!


QUOTE
// Ziel-Datum in MEZ
function countdown(jahr, monat, tag, stunde, minute, sekunde) {
zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
startDatum=new Date(); // Aktuelles Datum
// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
if(startDatum < zielDatum) {

var minuten=59, sekunden=59;


// Minuten
minuten=Math.floor((zielDatum-startDatum)/(60*1000));
startDatum.setTime(startDatum.getTime()+minuten*60*1000);

// Sekunden
sekunden=Math.floor((zielDatum-startDatum)/1000);

// Anzeige formatieren
document.countdownform.countdowninput.value = " ~ ";
(minuten!=1)?minuten=minuten+" Minuten" : minuten=minuten+" Minute";
if(sekunden<10) sekunden="0"+sekunden;
(sekunden!=1)?sekunden=sekunden+" Sekunden" : sekunden=sekunden+" Sekunde";

document.countdownform.countdowninput.value+=stunden+minuten;

setTimeout("countdown("+minute+", "+sekunde+")", 1000);
} // Anderenfalls alles auf Null setzen
//else document.countdownform.countdowninput.value="0 Jahre, 0 Monate, 0 Tage, 0 Stunden, 0 Minuten und 00 Sekunden";
else document.countdownform.countdowninput.value=
"... also wer jetzt noch nicht da ist, hat was verpasst ...";
}





könntest du mir das ganze vll anpassen ?

minuten werden durch <?php echo $min ?>
und sekunden <?php echo $sek ?> vorgeben

und das ganze soll einfach runterlaufen

danke schon mal
 
Zurück
Oben