derletztekick: 2 Zeit-Scripte in einer Zeile ausführen, nur wie??

Beitrag lesen

Hallo Lenny,

ich finde Du machst es recht umständlich und mit veralteter Technik.

var heute = new Date();

Wenn Du dies einmal geholt hast, kannst Du davon alle gewünschten Parameter ableiten, es verfällt nicht zwischen den Script-Tags. Günstiger wäre es aber gleich alles in einem zusammenhängenden Script zu schreiben.

Wie Du die Zeiten ermittelst, weißt Du. Die Methoden, um an den Tag, die Stunde usw. ran zu kommen, hast Du auch gefunden.

Für die Darstellung letztlich würde ich einen anderen Weg vorschlagen. Du fügst in Deinem Dokument ein P-Tag oder eine Hx-Tag ein, der bereits "Liebe Besucher" enthält. Das ist nötig, damit auch User ohne JS begrüßt werden. Nun muss vor und hinter diesen etwas gesetzt werden. Einmal die "Guten .." davor und zum anderen das aktuelle Datum dahinter.

Das Datum setzt Du im Script zusammen, wie es Dir beliebt.

Hier hast Du mehrere Möglichkeiten. Recht einfach lässt es sich mit zwei SPAN-Tags realisieren:

<p id="clock"><span>&nbsp;</span>Lieber Besucher<span>&nbsp;</span></p>

Mit Hilfe einer der getElement(s)By Methoden bekommst Du den P-Tag "gefasst" und automatisch auch die SPANs, die er beinhaltet. Mittels replaceData() tauschst Du den Inhalt des jeweiligen SPANs aus. Dein Script könnte dann so in etwa aussehen:

  
  
   function setClock(){  
    var week = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");  
    var month = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");  
  
    var now = new Date();  
    var d  = now.getDate();  
    var day  = now.getDay();  
    var m  = now.getMonth();  
    var y  = now.getFullYear();  
    var hh  = now.getHours();  
    var firststr = new String();  
    var laststr = new String();  
    if (hh >=18)  
     firststr = "Guten Abend ";  
    else if (hh <12)  
     firststr = "Guten Morgen ";  
    else if (hh >= 12 && hh < 18)  
     firststr = "Guten Tag ";  
    laststr += ". Heute ist "+week[day]+", der "+d+". "+month[m]+" "+y;  
  
  
    if (document.getElementById)  
     var clock = document.getElementById("clock");  
     clock.getElementsByTagName("span")[0].firstChild.replaceData(0, firststr.length, firststr);  
     clock.getElementsByTagName("span")[1].firstChild.replaceData(0, laststr.length, laststr);  
   }  
   window.onload = setClock;

Mit freundlichem Gruß
Micha

--
LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein