Countup Timer

  • Hallo zusammen ich versuche grade krampfhaft einen Timer hinzubekommen der ausgibt seit 1980.08.04 sind X Jahre Monate Tage vergangen


    <html>

    <body style="background-color:#E6E6FA">

    <head>



    <script language="JavaScript">

    var jahr=1976, monat=8, tag=1, stunde=0, minute=0, sekunde=0; // Start-Datum in MEZ


    function countup() {

    var startDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

    zielDatum=new Date(); // Aktuelles Datum



    if(startDatum<zielDatum) {


    var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;


    // Jahre

    while(startDatum<zielDatum) {

    jahre++;

    startDatum.setFullYear(startDatum.getFullYear()+1);

    }

    startDatum.setFullYear(startDatum.getFullYear()-1);

    jahre--;


    // Monate

    while(startDatum<zielDatum) {

    monate++;

    startDatum.setMonth(startDatum.getMonth()+1);

    }

    startDatum.setMonth(startDatum.getMonth()-1);

    monate--;


    // Tage

    while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {

    tage++;

    startDatum.setTime(startDatum.getTime()+(24*60*60*1000));

    }




    // Anzeige formatieren

    (jahre!=1)?jahre=jahre+" Jahre, ":jahre=jahre+" Jahr, ";

    (monate!=1)?monate=monate+" Monaten, ":monate=monate+" Monat, ";

    (tage!=1)?tage=tage+" Tage ":tage=tage+" Tag ";



    document.countupform.countupinput.value=jahre+monate+tage;


    }


    else document.countupform.countupinput.value="0 Jahre, 0 Monate, 0 Tage";


    setTimeout('countup()',200);

    }

    </script>


    </head>


    <body scroll="auto" onload="countup()">


    <form name="countupform">

    <p>

    <input size="75" name="countupinput" style="background-color:#ffffff;border-width:0" onfocus="if(this.blur)this.blur()">

    </p>

    </form>


    </body>

    <html>


    das habe ich bisher leider ist die Ausgabe in der „box„ und da bekomme ich sie nicht raus :-(


    Ich hätte gerne nur die Ausgabe ohne box kann mir wer helfen ?

  • so ganz verstehe ich noch nicht das problem , aber gut . Ich verstehe das so


    Du nimmst ein Element ( in mein Beispiel ein <div> ) und gibst es eine ID ( darf nur einmal vorkommen auf der Seite )

    Das sieht dann so aus

    Code
    1. <div id="deineid"></div>

    Da soll jetzt die Zeit angezeigt werden . Das kannst du hin kopieren wo du willst ,solange es in diesen Fall oberhalb des Scriptes bleibt.


    Damit das Element die Uhrzeit auch bekommt muss man im Script das Element mit innerHTML füttern

    Code
    1. document.getElementById('deineid').innerHTML=jahre+monate+tage;


    Das ist das was du eigentlich brauchst .

    Dann noch was zu deinen html Code.

    <head> gehöhrt oberhalb des <body>


    <body> sollte nur einmal auf einer Seite sein. Jedes <body> sollte geschlossen werden.

    Inline Styls macht man eigentlich auch nicht mehr dazu gibt es CSS

    Darum solltest du dich noch kümmern.


    Damit du nicht nochmal Fragen mußt ist hier ein verkürztes Beispiel




    Kuck dir aber das mit den Html genau an . An besten gleich html 5.

    https://www.html-seminar.de/html-seitenaufbau.htm

    https://www.html-seminar.de/befehlsuebersicht.htm


    Damit solltest du den rest auch hinbekommen

  • erst mal danke für deine Hilfe :-) aber ähm ja ich verstehe kein Wort :-/


    ich probiere es mal anders zu erklären ich möchte ohne irgendwelchen kästen ohne schnik ohne ohne schnak

    angezeigt bekommen

    das seit dem 10.02.2014

    5 Jahre 2 Monate und 4 Tage vergangen sind

  • was heist ohne schnich und schnack ?

    Also ohne gedöns und Eierkuchen ?

    Das was da steht ist minimum an Code den du brauchst dafür .Mit noch wenniger schnick geschnacke geht nur noch mit document.write() , doch das ist veraltet und wird eigentlich nicht mehr verwendet.


    Aber wenn du willst

    Kürzer geht es nicht. Obwohl man das Js bestimmt noch kürzer schreiben könnte doch darum geht es ja nicht.


    Jetzt wird das Datum da angezeigt wo du das Script hin kopierst

  • an besten ließt du dir auch mal die Links durch die ich dir gegeben habe und machst dann auch weiter mit Css und co.


    <font> Ist veraltet und sollte nicht mehr benutzt werden. Zeig mir mal wie dein Code jetzt aussieht ?

    Selbst wenn du deinen Code an der richtigen Stelle eingefügt hast sollte es klappen.


    Da du ja nix anderes haben willst könntest du es so machen

    Code
    1. document.write('<p style="color:red">'+jahre+monate+tage+'</p>');

    oder mit was anderen

    Code
    1. <p style="color:red">
    2. <script> hier der script code</script>
    3. </p>

    oder über Css

    Aber denke dran das die richtigste Lösung immer noch die in Post #6 ist ,wo document.write() nicht benutzt wird und ohne den ganzen Inline Style kram

  • empfehlen kann ich dir da nix weil ich das alles so Tippe.Bzw habe ich mir ein Textdocument erstellt wo die aktuellen Code-Schnipsel die man so brauch stehen. Dann wird das was man brauch kopiert und und von da aus passe ich alles an wie ich es brauch. ist oft ein Nachteil weil man so länger brauch und auch viele Fehler wie Kommas vergessen und co reinhaue , doch ich habe mich dran gewöhnt. Hat noch ein Vorteil . Ich haue in der Rechtschreibung 1000 Fehler rein , doch den ganzen Javascript Code kann ich Fehlerfrei schreiben :D


    Ab und zu benutze ich den Notpad Editor wenn ich ein BOM Problem habe ,oder beim hochladen zum Server nur noch Mist ankommt.


    Andere Leute empfehlen zb

    Notpad++ ,

    TinyMCE , CKEdit,

    Visual Studio,

    Sublime Text,


    Das schreiben Leute die meiner meinung nach vom Programmieren Ahnung haben ,und wenn die das sagen gehe ich mal von aus das das gute Editoren sind

  • Hallo,

    ich wollte das gleiche machen scheitere aber daran das script einzufügen, wenn ich es an eine belebiege Stelle einfüge und nun die Seite öffne ist das script der einzige Inhalt der Seite. Ich arbeite mit header, section etc, dies sollte aber doch eigentlcih kein problem sein da dies ja im body ist.

    Kann mir da wer helfen?:/