Phil: Kleine Änderung in Java Script Counter

Hallo Zusammen,

Ich verwende den untenstehenden Java Script Counter. Leider verstehe ich nicht allzuviel von Java Script. Das Problen ist, dass das Script die verbleibende Zeit nicht zweistellig ausgibt, wenn der Wert kleiner als 10 ist.

Das Script zeigt an: 10:9:21 (Tage, Stunde, Minuten)

Ich hätte aber gerne 10:09:21 (zweistellig)

Jemand eine Idee wie ich das Script anpassen kann?

vielen Dank, schöner Abend!

<script language="Javascript">
<!--
var CountdownJahr = 2008;
var CountdownMonat = 8;
var CountdownTag = 8;
var CountdownStunde = 12;
var CountdownMinute = 30;
var CountdownSekunde = 0;

function CountdownAnzeigen()
{
var Jetzt = new Date();
var Countdown = new Date(CountdownJahr, CountdownMonat-1, CountdownTag, CountdownStunde, CountdownMinute, CountdownSekunde);
var MillisekundenBisCountdown = Countdown.getTime()-Jetzt.getTime();
var Rest = Math.floor(MillisekundenBisCountdown/1000);
var CountdownText = "";

if(Rest >= 31536000)
{
var Jahre = Math.floor(Rest/31536000);
Rest = Rest-Jahre*31536000;

if(Jahre > 1 || Jahre == 0)
{
CountdownText += Jahre + " Jahre ";
}
else if(Jahre == 1)
{
CountdownText += Jahre + " Jahr ";
}
}
if(Rest >= 86400)
{
var Tage = Math.floor(Rest/86400);
Rest = Rest-Tage*86400;

if(Tage > 1 || Tage == 0)
{
CountdownText += Tage + ":";
}
else if(Tage == 1)
{
CountdownText += Tage + ":";
}
}
if(Rest >= 3600)
{
var Stunden = Math.floor(Rest/3600);
Rest = Rest-Stunden*3600;

if(Stunden > 1 || Stunden == 0)
{
CountdownText += Stunden + ":";
}
else if(Stunden == 1)
{
CountdownText += Stunden + ":";
}
}
if(Rest >= 60)
{
var Minuten = Math.floor(Rest/60);
Rest = Rest-Minuten*60;

if(Minuten > 1 || Minuten == 0)
{
CountdownText += Minuten + ":";
}
else if(Minuten == 1)
{
CountdownText += Minuten + ":";
}
}

if(Rest > 1 || Rest == 0)
{
CountdownText += Rest + "";
}
else if(Rest==1)
{
CountdownText += Rest + "";
}

document.getElementById('Countdown').innerHTML = CountdownText;
window.setTimeout("CountdownAnzeigen()", 1000);
}
//-->
</script>

  1. @@Phil:

    Ich verwende den untenstehenden Java Script Counter.

    JavaScript – ein Wort.

    JavaScript-Counter – mit Bindestrich, nicht mit Deppenleerzeichen.

    Leider verstehe ich nicht allzuviel von Java Script.

    Es kann ziemlich gefährlich sein, Scripte einzusetzen, die man irgendwo gefunden hat, aber nicht weiß, was sie tun.

    <script language="Javascript">

    Falsch. Wie’s richtig geht, steht in http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=SELFHTML.

    <!--

    Das stammt aus dem letzten Jahrtausend. Die Auskommentierung ist längst völlig unnötig und nicht mehr zeitgemäß.

    if(Rest >= 31536000)
    {
    var Jahre = Math.floor(Rest/31536000);
    Rest = Rest-Jahre*31536000;
    ``
    if(Jahre > 1 || Jahre == 0)
    {
    CountdownText += Jahre + " Jahre ";
    }
    else if(Jahre == 1)
    {
    CountdownText += Jahre + " Jahr ";
    }
    }

    Das ist ziemlicher Unfug. Wenn in den else-Zweig gegangen wird, welchen Wert hat Jahre dann? Wozu also die if-Abfrage?

    if(Tage > 1 || Tage == 0)
    {
    CountdownText += Tage + ":";
    }
    else if(Tage == 1)
    {
    CountdownText += Tage + ":";
    }

    Eine Abfrage, bei der bei Zutreffen und bei Nichtzutreffen der Bedinung exakt dasselbe gemacht werden soll, ist noch größerer Unfug. Wozu also die if-Abfrage?

    if(Stunden > 1 || Stunden == 0)
    {
    CountdownText += Stunden + ":";
    }
    else if(Stunden == 1)
    {
    CountdownText += Stunden + ":";
    }

    Dito.

    Übrigens wäre hier eine geeignete Stelle, um abzufragen, ob Stunden < 10, also einstellig ist. In den Fall wäre eine führende '0' einzufügen: CountdownText += "0" + Stunden + ":";

    Bei Minuten und Sekunden ebenso.

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    1. Morgen,

      Dank dir für die ausführliche Antwort! Ich verstehe wirklich nix von JavaScript. Habe mich dazu entschlossen, dass auch nicht zu ändern. PHP reicht mir vollkommen. Habe einen kleinen Counter in PHP realisiert. Nicht mehr in Echtzeit, aber es gibt schlimmeres. Du hast schon Recht, Scripte die man nicht kennt, sollte man nicht verwenden!

      Dank dir! Schönes Weekend!