PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [JavaScript]: Uhr, welche nur einmal die Zeit abfragt


mf_2
2007-05-14, 22:03:00
Hallo,
Ich will mit JavaScript eine Uhr auf meiner Webseite anzeigen.
So sieht sie aktuell aus (hab das Script von so einer Scriptesammlung im www):



<HTML><HEAD><TITLE></TITLE>

<script type="text/javascript" src="dhtml.js"></script>
<script type="text/javascript">
function ZeitAnzeigen () {
var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
"Donnerstag", "Freitag", "Samstag");
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
if (Jahr < 999)
Jahr += 1900;
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var Sekunden = Jetzt.getSeconds();
var WoTag = Jetzt.getDay();
var Vortag = (Tag < 10) ? "0" : "";
var Vormon = (Monat < 10) ? ".0" : ".";
var Vorstd = (Stunden < 10) ? "0" : "";
var Vormin = (Minuten < 10) ? ":0" : ":";
var Vorsek = (Sekunden < 10) ? ":0" : ":";
var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
var Gesamt = Wochentagname[WoTag] + ", " + Datum + ", " + Uhrzeit;

if (DHTML) {
if (NS4) {
setContent("id", "Uhr", null, '<span class="Uhr\">' + Gesamt + "<\/span>");
} else {
setContent("id", "Uhr", null, Gesamt);
}
window.setTimeout("ZeitAnzeigen()", 1000);
}
}

</script>
<style type="text/css">
<?php

else
echo .Uhr { font-family:Arial; font-size:18px; color:black; font-weight:bold; text-align:center; }
</style>

</HEAD><BODY onload="window.setTimeout('ZeitAnzeigen()', 1000)";>


<div id="Uhr" class="Uhr">&nbsp;</div>


</BODY></HTML>


Das geht auch prima, nur liest es immer die Zeit vom Client.
Ich brauche ein Script, welches sich die Zeit einmal beim Aufruf der Seite holt und dann selbstständig runterzählt. Ich will nämlich die Serverzeit ruterlaufen lassen und die könnte ich ja dann via PHP in die passenden Variablen eingeben.
Wenn ich das bei dem Sript mache, dann zählt die Zeit nicht, da ja immer dieselben Werte abgefragt werden, da das Dokument schon lange durch den PHP Parser ist, wenn JS immer wieder die Werte abfragt.

Wenns geht bräuchte ich ein fertiges Script, bekommt man doch sicher auch irgendwo im WWW kostenlos in so nem Scriptarchiv? Bin leider ne totale Null was JS betrifft.

Vielen Dank schonmal für eure Hilfe!

mf_2

Sephiroth
2007-05-14, 23:18:13
die relevanten teile des codes, rest wie oben ...

<script type="text/javascript">
var STARTDATE = 77771564221; // lege Startdatum fest -> millisekunden seit 1.1.1970 vom server über php
function ZeitAnzeigen () {
var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
"Donnerstag", "Freitag", "Samstag");
var Jetzt = new Date(STARTDATE); // starte mit Startdatum
STARTDATE -= 1000; // verringere um 1 sekunde
var Tag = Jetzt.getDate();

mf_2
2007-05-15, 00:53:23
Thx, geht 1a!