Antworten auf deine Fragen:
Neues Thema erstellen

Countdown zählt rückwärts weiter...

djvolume

Aktives Mitglied

Hallo Leute ich habe ein Problem,
mein Countdown zählt rückwärts weiter so bald er die Zeit 0:0:0 erreicht hat. Ich würde gerne das so gestalten wenn er bis ans Ende gezählt hat das dann eine Schrift in dem dynamischen Textfeld "uhr" (wo der Countdown abläuft) zum Schluß steht "fertig"

Hier mein Code:
count = new Date(2009,0,12,0,0,0);

function countdown()
{
jetzt = new Date(); // das datum im mom
rest = count - jetzt;
sek1 = Math.floor(rest/1000); //umrechnung millisek. in sek
tage = Math.floor(sek1/86400); // berchnung der tage
sek2 = sek1 - (tage * 86400); // übrige sek nach abzug der tage
std = Math.floor(sek2/3600); //restliche stunden
sek3 = sek2 - (std*3600); //restsek nach abzug von tagen und std
min = Math.floor(sek3/60); //minuten
sek = sek3 - (min*60); // sekunden

if (sek < 10) sek = "0" + sek;
if (min < 10) min = "0" + min;
if (std < 10) std = "0" + std;
if (tage < 10) tage = "0" + tage;

uhr.text = tage + " : " + std + " : " + min + " : " + sek + " "}


setInterval(countdown,1000);

Ich hoffe mir kann jemand helfen :)
 

sokie

Mod | Web

AW: Countdown zählt rückwärts weiter...

nach :" rest = count - jetzt " einfach die ausführung davon abhängig machen ob
( rest > 0 )
Code:
if ( rest > 0){
         sek1 = Math.floor(rest/1000); //umrechnung millisek. in sek 
        tage = Math.floor(sek1/86400); // berchnung der tage
        sek2 = sek1 - (tage * 86400); // übrige sek nach abzug der tage
        std = Math.floor(sek2/3600); //restliche stunden
        sek3 = sek2 - (std*3600); //restsek nach abzug von tagen und std
         min = Math.floor(sek3/60); //minuten
        sek = sek3 - (min*60); // sekunden 

        if (sek < 10) sek = "0" + sek;
        if (min < 10) min = "0" + min;
        if (std < 10) std = "0" + std;
        if (tage < 10) tage = "0" + tage;

        uhr.text = tage + " : " + std + " : " + min + " : " + sek + "  ";
        } else {
        uhr.text = "Die Zeit ist abgelaufen, danke, dass Sie die automatische Selbstzerstörung benutzt haben!";
}
 

djvolume

Aktives Mitglied

AW: Countdown zählt rückwärts weiter...

Habe das jetzt so geändert:

count = new Date(2009,0,12,0,0,0);


function countdown()
{
jetzt = new Date(); // das datum im mom
rest = count - jetzt;

if ( rest > 0){
sek1 = Math.floor(rest/1000); //umrechnung millisek. in sek
tage = Math.floor(sek1/86400); // berchnung der tage
sek2 = sek1 - (tage * 86400); // übrige sek nach abzug der tage
std = Math.floor(sek2/3600); //restliche stunden
sek3 = sek2 - (std*3600); //restsek nach abzug von tagen und std
min = Math.floor(sek3/60); //minuten
sek = sek3 - (min*60); // sekunden

if (sek < 10) sek = "0" + sek;
if (min < 10) min = "0" + min;
if (std < 10) std = "0" + std;
if (tage < 10) tage = "0" + tage;}

uhr.text = tage + " : " + std + " : " + min + " : " + sek + " "; else {
uhr.text = "Die Zeit ist abgelaufen!";
}

setInterval(countdown,1000);



Aber jetzt kommt diese Fehlermeldung:

**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 24: 'else' ohne entsprechendes 'if' gefunden
uhr.text = tage + " : " + std + " : " + min + " : " + sek + " ";} else {

Anzahl der ActionScript-Fehler: 1 Gemeldete Fehler: 1

Kann mir jemand helfen...
 
T

TheDeath4Ever

Guest

AW: Countdown zählt rückwärts weiter...

Habe das jetzt so geändert:

count = new Date(2009,0,12,0,0,0);


function countdown()
{
jetzt = new Date(); // das datum im mom
rest = count - jetzt;

if ( rest > 0){
sek1 = Math.floor(rest/1000); //umrechnung millisek. in sek
tage = Math.floor(sek1/86400); // berchnung der tage
sek2 = sek1 - (tage * 86400); // übrige sek nach abzug der tage
std = Math.floor(sek2/3600); //restliche stunden
sek3 = sek2 - (std*3600); //restsek nach abzug von tagen und std
min = Math.floor(sek3/60); //minuten
sek = sek3 - (min*60); // sekunden

if (sek < 10) sek = "0" + sek;
if (min < 10) min = "0" + min;
if (std < 10) std = "0" + std;
if (tage < 10) tage = "0" + tage;}

uhr.text = tage + " : " + std + " : " + min + " : " + sek + " "; else {
uhr.text = "Die Zeit ist abgelaufen!";
}

setInterval(countdown,1000);



Aber jetzt kommt diese Fehlermeldung:

**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 24: 'else' ohne entsprechendes 'if' gefunden
uhr.text = tage + " : " + std + " : " + min + " : " + sek + " ";} else {

Anzahl der ActionScript-Fehler: 1 Gemeldete Fehler: 1

Kann mir jemand helfen...

Dein Fehler ist ganz einfach und wird auch in der Fehlermeldung beschrieben.
du hast else verwendet ohne die Klammer davor zu schließen ;)

es muss also so funtkionieren:
Code:
count = new Date(2009,0,12,0,0,0);


function countdown()
{
jetzt = new Date(); // das datum im mom
rest = count - jetzt;

if ( rest > 0){
sek1 = Math.floor(rest/1000); //umrechnung millisek. in sek
tage = Math.floor(sek1/86400); // berchnung der tage
sek2 = sek1 - (tage * 86400); // übrige sek nach abzug der tage
std = Math.floor(sek2/3600); //restliche stunden
sek3 = sek2 - (std*3600); //restsek nach abzug von tagen und std
min = Math.floor(sek3/60); //minuten
sek = sek3 - (min*60); // sekunden

if (sek < 10) sek = "0" + sek;
if (min < 10) min = "0" + min;
if (std < 10) std = "0" + std;
if (tage < 10) tage = "0" + tage;}

uhr.text = tage + " : " + std + " : " + min + " : " + sek + " ";
} else {
uhr.text = "Die Zeit ist abgelaufen!";
}

setInterval(countdown,1000);
 
T

TheDeath4Ever

Guest

AW: Countdown zählt rückwärts weiter...

wird wahrscheinlich an deinem PC liegen ;)

was anderes noch. Ich find den Output von dir bei Tage nicht so schön, da sowas wie
Code:
01 : 23 : 05 : 01
einfach nicht so schön wirkt.
Ebenfalls ist die führende Null bei Tage in meinen Augen auch nicht so toll. Schreib doch lieber den Output nach folgendem Schema: xx Tage hh:mm:ss
Wenn du noch auf schönes Deutsch achten willst, füge noch eine Weiche ein, für die Bezeichnung von Tag(e), damit nicht dasteht 01 Tage hh:mm:ss sondern 1 Tag hh:mm:ss
Aber das ist geschmackssache ;)
 

djvolume

Aktives Mitglied

AW: Countdown zählt rückwärts weiter...

Hi The Death4Ever,
ich weiß i würde die Formatierung auch so besser finden. Aber für den ich den Counter mache, wollte es so haben...

Ich habe es am Mac gemacht, kann es wirklich am Mac liegen das der manchmal eine Sek. überspringt? Einfach so?
 

sokie

Mod | Web

AW: Countdown zählt rückwärts weiter...

Hi The Death4Ever,
ich weiß i würde die Formatierung auch so besser finden. Aber für den ich den Counter mache, wollte es so haben...

Ich habe es am Mac gemacht, kann es wirklich am Mac liegen das der manchmal eine Sek. überspringt? Einfach so?

es wird an dem Intervall liegen. Wenn die Funktion aufgerufen wird vergeht ja auch jedesmal etwas zeit, und so kommt es eben dazu, dass "sek1 = Math.floor(rest/1000)" durch das abrunden schon auf die nächste Sekunde springt.

wenn du deine Intervalle kürzer wählst, wird keine Sekunde übersprungen zb.
setInterval(countdown,333);
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.477
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben