DerK: Countdown

Hi,
ich habe einen Countdown mit JavaScript programmiert,
der auch wunderbar funktioniert. Allerdings möchte ich
vier weitere die unabhängig von einander laufen auf
der selben Seite haben und verstehe nicht so ganz, wie
ich das hinkriegen soll.

Freundliche Grüße.

Anlagen:
Der Script für bislang nur einen Countdown:

<html>
<head>
<LINK REL="SHORTCUT ICON" HREF="favicon.ico">
<title>Countdown</title>
<script language="Javascript">
<!--

var CountdownJahr = 2007;
var CountdownMonat = 3;
var CountdownTag = 16;
var CountdownStunde = 0;
var CountdownMinute = 0;
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 + " Tage ";
  }
  else if(Tage==1)
  {
   CountdownText += Tage + " Tag ";
  }
 }
 if(Rest>=3600)
 {
  var Stunden = Math.floor(Rest/3600);
  Rest = Rest-Stunden*3600;
  if(Stunden>1 || Stunden==0)
  {
   CountdownText += Stunden + " Stunden ";
  }
  else if(Stunden==1)
  {
   CountdownText += Stunden + " Stunde ";
  }
 }
 if(Rest>=60)
 {
  var Minuten = Math.floor(Rest/60);
  Rest = Rest-Minuten*60;
  if(Minuten>1 || Minuten==0)
  {
   CountdownText += Minuten + " Minuten ";
  }
  else if(Minuten==1)
  {
   CountdownText += Minuten + " Minute ";
  }
 }

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

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

<body onLoad="CountdownAnzeigen();" onLoad="CountdownAnzeigenb();">

<span id="Countdown"></span><br>

</body>
</html>

  1. Hallo!

    Hi,
    ich habe einen Countdown mit JavaScript programmiert,
    der auch wunderbar funktioniert.

    Du hast das programmiert? Und dann schaffst du es nicht, das so zu machen, dass es letztendlich auch wirklich klappt? ;-) *SCNR*

    Du musst dein Script anpassen. Das könnte dir weiter helfen: http://aktuell.de.selfhtml.org/artikel/javascript/organisation/#eigene-objekte :-) Im übrigen ist der gesamte Artikel äußerst lesenswert.

    ciao, ww

    --
    sh:(  fo:|  ch:~  rl:(  br:>  n4:~  ie:%  mo:)  va:)  de:]  zu:)  fl:(  ss:|  ls:~  js:)
  2. Moin

    so sollte es mit 2en gehen (beliebig erweiterbar):

    <html>
     <head>
     <title>Countdown</title>
     <script type="text/javascript">
     function CountdownAnzeigen(CountdownJahr, CountdownMonat, CountdownTag, CountdownStunde, CountdownMinute, CountdownSekunde, wo)
     {
      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 + " Tage ";
       }
       else if(Tage==1)
       {
        CountdownText += Tage + " Tag ";
       }
      }
      if(Rest>=3600)
      {
       var Stunden = Math.floor(Rest/3600);
       Rest = Rest-Stunden*3600;
       if(Stunden>1 || Stunden==0)
       {
        CountdownText += Stunden + " Stunden ";
       }
       else if(Stunden==1)
       {
        CountdownText += Stunden + " Stunde ";
       }
      }
      if(Rest>=60)
      {
       var Minuten = Math.floor(Rest/60);
       Rest = Rest-Minuten*60;
       if(Minuten>1 || Minuten==0)
       {
        CountdownText += Minuten + " Minuten ";
       }
       else if(Minuten==1)
       {
        CountdownText += Minuten + " Minute ";
       }
      }

    if(Rest>1 || Rest==0)
      {
       CountdownText += Rest + " Sekunden ";
      }
      else if(Rest==1)
      {
       CountdownText += Rest + " Sekunde ";
      }
      var elemwo=document.getElementById(wo)
      if (elemwo)
      {
      if (!elemwo.firstChild) elemwo.appendChild(document.createTextNode("nix"));
      elemwo.firstChild.data = CountdownText;
     }
    }
     window.onload=function () {
     setInterval("CountdownAnzeigen(2007,3,16,0,0,0,'Countdown1')",1000);
     setInterval("CountdownAnzeigen(2009,1,1,0,0,0,'Countdown2')",1000);
     }
     </script>
     </head>

    <body>

    <span id="Countdown1"></span><br>
     <span id="Countdown2"></span><br>

    </body>
     </html>

    (das etwas schwerfällige Script habe ich aber jetzt weitgehend so belassen)

    Gruß
    rfb

    --
    Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
    (Galileo Galilei)