Basti: Countdown mit Mozilla

Hallo

Weiss jemand, wie ich es schaffe, das folgender Code nicht nur im IE, sondern auch im Mozilla funktioniert?

----------
x = 120;
adresse = "http://www.fcbaden.ch/?t=blank&w=online";

function MyCountDown()
{
if (x>0)
{
zeit.innerHTML = "Countdown: "+x+" Sekunden";
x--;
window.setTimeout("MyCountDown()",1000);
}
else
{
location.href=adresse;
}

}
----------

Wäre echt klasse...

Gruss
Basti

Sinn der Sache: http://www.fcbaden.ch/ und dort auf den Link bei "Who's online" klicken.

  1. hi

    zeit.innerHTML = "Countdown: "+x+" Sekunden";

    ich gehe davon aus, dass "zeit" eine ID irgendwo ist? Dann ist also document.GetElementById("zeit").appendData("Countdown: "+x+" Sekunden"); die richtige Syntax, die dann auch W3C-Konform ist.
    Doch - wie könnte es anders sein - der MSIE ist dazu zu doof (zumindest bis 5.5..) also so:

    document.GetElementById("zeit").innerHTML = "Countdown: "+x+" Sekunden";

    ..ist zwar nicht ganz sauber, funktioniert aber in Mozilla, MSIE und konqueror.

    Grüße aus Bleckede

    Kai

    1. naja. immerhin kann man sich auch mit
      var t = document.createTextNode("Countdown: "+x+" Sekunden");
      var zeitid = document.getElementById("zeit");
      if (zeitid.childNodes.length == 0) zeitid.appendChild(t);
      else document.replaceChild(t,zeitid.firstChild);

      behelfen.

      Gruß Herbalizer

      1. Man man... ist ja schon peinlich, programmier beruflich PHP, aber bei Java setzt bei mir wohl der Verstand aus...

        Das eigentliche Javascript hab ich ja schon gepostet. An der Stelle, wo das ganze dann erscheinen soll, hab ich einfach ein <div id="zeit"> gemacht... so funktioniert das ganze im Internetexplorer, nur eben leider nicht im Mozilla und das ist traurig, da ich doch lieber Mozilla nutze ;)

        Jetzt hab ich mit euren Beispielen wie es geht herumgespielt, aber es klappt einfach nicht... *snif*, weder im IE, noch im Mozilla.

        1. Mal wieder 20 logische Fehler hingeschrieben (kommt davon wenn  nix tested). So sollen die 2 Varianten aussehen. (Getestet in Mozilla).

          Variante innerHTML:

          x = 120;
          adresse = "http://www.fcbaden.ch/?t=blank&w=online";

          function MyCountDown()
          {
          if (x>0)
          {
          var t = "Countdown: "+x+" Sekunden";
          var zeitid = document.getElementById("zeit");
          /* document.getElementId() ist WICHTIG für Mozilla*/
          zeitid.innerHTML = t;
          x--;
          window.setTimeout("MyCountDown()",1000);
          }
          else
          {
          location.href=adresse;
          }

          }

          Version DOM:

          x = 120;
          adresse = "http://www.fcbaden.ch/?t=blank&w=online";

          function MyCountDown()
          {
          if (x>0)
          {
          var t = document.createTextNode("Countdown: "+x+" Sekunden");
          var zeitid = document.getElementById("zeit");
          if (zeitid.childNodes.length == 0) zeitid.appendChild(t);
          else zeitid.replaceChild(t,zeitid.lastChild);

          x--;
          window.setTimeout("MyCountDown()",1000);
          }
          else
          {
          location.href=adresse;
          }

          }

          1. Es klappt, es klappt *hüpf*!

            Bin dir zu tiefstem Dank verpflichtet *verneig* ;)

            1. Es klappt, es klappt *hüpf*!

              Bin dir zu tiefstem Dank verpflichtet *verneig* ;)

              Bitteschön, ist gern geschehen.