Toni: Counter mit Javascript...

Ich soll für meinen Freund einen Countdown erstellen. Man soll die Zeit eingeben können und dann auf "aktualisieren" drücken, und der Counter soll mit einem anderen Button gestartet werden... Doch ich weis nicht wie ich die Funktionen schreiben soll, denn ich hab mit JS noch nicht so lange Erfahrung.
Wäre toll, wenn mir jemand meine Fehler zeigen könnte und den richtigen Code posten könnte!^^

MFG
Toni

<html>
<head>
<script type="text/javascript">
        function $(name) {
            return document.getElementById(name);
        }

function updatePS3Countdown() {
            var cA = $("counterActivator");
            if (cA) {
                var now = new Date();
                var rel = new Date(2007, 02, 23, 24, 0, 0);

var mil = rel.getTime() - now.getTime();

if (mil > 0) {
                    var secs = Math.round(mil / 1000);

// Tage von secs abziehen...
                    var days = (secs - secs % (60 * 60 * 24)) / (60 * 60 * 24);
                    secs = secs % (60 * 60 * 24);

// Stunden von secs abziehen...
                    var hrs = (secs - secs % (60 * 60)) / (60 * 60);
                    secs = secs % (60 * 60);

// Minuten von secs abziehen...
                    var mnts = (secs - secs % 60) / 60;
                    secs = secs % 60;

$("cDays").innerHTML = days;
                    $("cHours").innerHTML = hrs;
                    $("cMinutes").innerHTML = mnts;
                    $("cSeconds").innerHTML = secs;

window.setTimeout("updatePS3Countdown()", 1000);
                }
            }
        }

</script>
        </head>
<body onload="updatePS3Countdown();" >
        <div id="counterActivator" style="height:120px"></div>

<table width="190px" border="0" cellspacing="5px" cellpadding="0">
<tr><td width="87px" align="right" id="cDays" style="font-size:1.5em;color:#fff"><input

tpye="submit" value="0"></td><td style="font-size:1.0em;color:#888">Tage</td></tr>
<tr><td width="87px" align="right" id="cHours" style="font-size:1.5em;color:#fff"><input

tpye="submit" value="0"></td><td style="font-size:1.0em;color:#888">Stunden</td></tr>
<tr><td width="87px" align="right" id="cMinutes" style="font-size:1.5em;color:#fff"><input

tpye="submit" value="0"></td><td style="font-size:1.0em;color:#888">Minuten</td></tr>

<tr><td width="87px" align="right" id="cSeconds" style="font-size:1.5em;color:#fff"><input

tpye="submit" value="0"></td><td style="font-size:1.0em;color:#888">Sekunden</td><td

width="87px" align="right" id="cSeconds" style="font-size:1.5em;color:#fff"></td></tr>
&nbsp;&nbsp;&nbsp;<input type="button" value ="aktualisieren"

onclick="onload='updatePS3Countdown();' ">
<input type="button" value="start">
</table>
</body>
</html>

  1. Wäre toll, wenn mir jemand meine Fehler zeigen könnte

    1. Wenn du um Hilfe bei der Fehlersuche bittest, ist es immer überaus zuvorkommen, a) statt "Da ist ein Fehler" oder "Funktioniert nicht" zu schreiben, um welche Fehler es sich handelt, und b) bis wo du gekommen bist.

    2. Wenn du erst am Probieren bist und insbesondere, wenn du den Code jemand anderem zeigst, dann sorge dafür, dass du keinen unnötigen Ballast mitgeschleppst. Sowas …

    <table width="190px" border="0" cellspacing="5px" cellpadding="0">
    <tr><td width="87px" align="right" id="cDays" style="font-size:1.5em;color:#fff"><input

    tpye="submit" value="0"></td><td style="font-size:1.0em;color:#888">Tage</td></tr>

    … ist zum Beispiel wegen des Formatierungswusts Bockmist. Folgender Code ist genauso gut geeignet und vor allen Dingen wesentlich übersichtlicher:

    <table>
    <tr>
      <td> id="cDays"><input tpye="submit" value="0"></td>
      <td>Tage</td>
    </tr>

    Man sieht auf den ersten Blick, dass a) tpye (type) offensichtlich falsch geschrieben wurde, b) ein submit-<input> für die Ausgabe eines Textes nicht wirklich zweckdienlich ist (wenn überhaupt, dann ein text-<input>) und c) <input>-Elemente mit Namen versehen sein sollten, um sich ordentlich ansprechen zu können.

    Du machst dir mit so einem Wust nur das Leben schwer. Du wirst nicht nur selbst Schwierigkeiten haben, den Überblick zu wahren, du vergraulst vor allen Dingen andere Leute, denn auch wenn so mancher dir helfen würde, kaum jemand hat Lust, erstmal deinen Code aufzuräumen.

    Bittest du jemanden um Hilfe, lege ihm nicht noch Steine in den Weg.

    3. Was deinen Code angeht: Der kann schon alleine deshalb derzeit nichts machen, weil er sich schlichtweg weigert, in die Vergangenheit zu zählen:

    var now = new Date();
                    var rel = new Date(2007, 02, 23, 24, 0, 0);

    Wir haben bereits 2008.

    var mil = rel.getTime() - now.getTime();

    if (mil > 0) {

    4.

    Ich soll für meinen Freund einen Countdown erstellen. Man soll die Zeit eingeben können und dann auf "aktualisieren" drücken, und der Counter soll mit einem anderen Button gestartet werden...

    Angesichts deines HTML-Wursts würde ich sagen, dass du dann erst einmal HTML-seitig eine ordentliche Eingabemaske bastelst, in der es ein Feld zum Eingeben der Zeit gibt und Plätze, an denen die Restzeit ausgegeben wird. Das hast du nämlich momentan nur ansatzweise.

    Was ich mich davon abgesehen frage, ist, wozu diese Eieruhr benutzt werden soll? Falls es darum gehen sollte, Besuchern die Zeit bis zu einem bestimmten Ereignis anzuzeigen: Dazu ist eine reine Javascript-Lösung, namentlich der Teil der Zielzeiteingabe, nicht geeignet.

    1. Hallo.

      Angesichts deines HTML-Wursts würde ich

      ... von einem Wurst-Case-Szenario sprechen.
      MfG, at

  2. Mit was für einer Sprache schreibt man denn dann so etwas? :(
    Kann vielleicht jemand für mich den Code so richtig schreiben, dass das ganze funzt? Ich schaff es nämlich nicht! :'(

    1. Mahlzeit Toni,

      Mit was für einer Sprache schreibt man denn dann so etwas? :(

      Das kommt darauf an: was genau willst Du (das hast Du nämlich trotz Teufelchens Nachfrage nicht erläutert)?

      Kann vielleicht jemand für mich den Code so richtig schreiben, dass das ganze funzt? Ich schaff es nämlich nicht! :'(

      Sicher kann das jemand. Auch so, dass es "funzt". Ich z.B. würde das für einen angemessenen, üblichen Stundensatz machen. Ansonsten erinnere ich Dich an den Namen dieses Forums: "SELF"HTML ...

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. Mahlzeit Toni,

        Mit was für einer Sprache schreibt man denn dann so etwas? :(

        Das kommt darauf an: was genau willst Du (das hast Du nämlich trotz Teufelchens Nachfrage nicht erläutert)?

        Kann vielleicht jemand für mich den Code so richtig schreiben, dass das ganze funzt? Ich schaff es nämlich nicht! :'(

        Sicher kann das jemand. Auch so, dass es "funzt". Ich z.B. würde das für einen angemessenen, üblichen Stundensatz machen. Ansonsten erinnere ich Dich an den Namen dieses Forums: "SELF"HTML ...

        MfG,
        EKKi

        Also ich möchte eigentlich nur, dass man die Zeit eingeben kann und, dass dann der Counter beim Klick auf den Button "START" runterzählt ;).
        Bitte um "KLEINE HILFESTELLUNG".
        MFG
        Toni

        1. Hi,

          Also ich möchte eigentlich nur, dass man die Zeit eingeben kann und, dass dann der Counter beim Klick auf den Button "START" runterzählt ;).
          Bitte um "KLEINE HILFESTELLUNG".

          1. Unterlasse bitte Fullquotes, zitiere vernuenftig.
          2. Komfortable Timer-Funktion

          MfG ChrisB

          --
          "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."