Zur Navigation

Zeit.js

1 elena

Ich habe folgendes Script auf meiner Seite:

PrintDate1()
function PrintDate1() {
var x = new Date();
day=new Array(7);
day[0]="Sonntag";
day[1]="Montag";
day[2]="Dienstag";
day[3]="Mittwoch";
day[4]="Donnerstag";
day[5]="Freitag";
day[6]="Samstag";
month = new Array(12);
month[0] = "Jan.";
month[1] = "Feb.";
month[2] = "März";
month[3] = "April";
month[4] = "Mai";
month[5] = "Juni";
month[6] = "Juli";
month[7] = "Aug.";
month[8] = "Sep.";
month[9] = "Okt.";
month[10] = "Nov.";
month[11] = "Dez.";
document.write('');
document.write(day[x.getDay()]+', ');
document.write(x.getDate()+'. ');
document.write(month[x.getMonth()]+' ');
document.write(x.getFullYear());
document.write(' - ');
document.write(x.getHours() +':')
if (x.getMinutes()<10)
document.write('0');
document.write(x.getMinutes() + ' Uhr&nbsp;&nbsp;');
document.write('<br>');
}
function PrintDate() {
var x = new Date();
var date = x.getDate();
if (date < 10) {
date = '0' + date;
}
var minutes = x.getMinutes();
if (minutes < 10) {
minutes = '0' + minutes;
}
month = new Array(12);
month[0] = "01.";
month[1] = "02.";
month[2] = "03.";
month[3] = "04.";
month[4] = "05.";
month[5] = "06.";
month[6] = "07.";
month[7] = "08.";
month[8] = "09.";
month[9] = "10.";
month[10] = "11.";
month[11] = "12.";
document.write('');
document.write(date+'.');
document.write(month[x.getMonth()]);
if (x.getYear()<=1900)
document.write(x.getYear()+1900);
else
document.write(x.getYear());
document.write(' ' +x.getHours() +':'+ minutes + ' Uhr');
}

Ich stelle fest, dass die Zeit "stehen" bleibt, sich nur dann ändert, wenn ich die Seite aktualisiere.
Fehlt da etwas im Script?
ireen

31.01.2007 18:35

2 Jörg Kruse

Hallo elena,

mit setInterval() kannst du die Funktion in bestimmten Abständen (Angaben in Millisekunden) aufrufen. Als Beispiel einer Umsetzung siehe auch diesen Thread

31.01.2007 19:28

3 elena

Hallo Jörg,
ih habe jetzt den Befehl setInterval() wie im Beispiel beschrieben eingefügt, funktioniert aber trotzdem nicht. Ist da noch ein weiterer Fehler im Script? Sorry, dass ich nochmals fragen muß. Danke jedenfalls im voraus!

elena

Hier mein Script:

PrintDate1()
function PrintDate1() {
var x = new Date();
day=new Array(7);
day[0]="Sonntag";
day[1]="Montag";
day[2]="Dienstag";
day[3]="Mittwoch";
day[4]="Donnerstag";
day[5]="Freitag";
day[6]="Samstag";
month = new Array(12);
month[0] = "Jan.";
month[1] = "Feb.";
month[2] = "März";
month[3] = "April";
month[4] = "Mai";
month[5] = "Juni";
month[6] = "Juli";
month[7] = "Aug.";
month[8] = "Sep.";
month[9] = "Okt.";
month[10] = "Nov.";
month[11] = "Dez.";
document.write('');
document.write(day[x.getDay()]+', ');
document.write(x.getDate()+'. ');
document.write(month[x.getMonth()]+' ');
document.write(x.getFullYear());
document.write('&nbsp;-&nbsp;');
document.write(x.getHours() +':')
if (x.getMinutes()<10)
document.write('0');
document.write(x.getMinutes() + ' Uhr&nbsp;&nbsp;');
document.write('<br>');
}
function PrintDate() {
var x = new Date();
var date = x.getDate();
if (date < 10) {
date = '0' + date;
}
var minutes = x.getMinutes();
if (minutes < 10) {
minutes = '0' + minutes;
}
month = new Array(12);
month[0] = "01.";
month[1] = "02.";
month[2] = "03.";
month[3] = "04.";
month[4] = "05.";
month[5] = "06.";
month[6] = "07.";
month[7] = "08.";
month[8] = "09.";
month[9] = "10.";
month[10] = "11.";
month[11] = "12.";
document.write('');
document.write(date+'.');
document.write(month[x.getMonth()]);
if (x.getYear()<=1900)
document.write(x.getYear()+1900);
else
document.write(x.getYear());
document.write(' ' +x.getHours() +':'+ minutes + ' Uhr');
window.setInterval('showtime()',1000);
}

01.02.2007 09:56

4 Jörg Kruse

Hallo elena,

das window.setInterval() muss außerhalb der Funktion stehen, die es aufrufen soll, und deren Name als Argument aufweisen:

function PrintDate() {

/* Inhalt der Funktion */

}

window.setInterval('PrintDate()',1000);

Allerdings wirst du die Uhrzeit auf eine andere Weise einfügen müssen als mit document.write, da dies bei mehrfachem Aufruf dazu führt, dass die Uhrzeiten nebeneinander geschrieben werden.

Schau dir nochmal das Beispiel 3 in dem anderen Thread an. Dort wird ein HTML-Element, in welches die Uhrzeit eingefügt werden soll, mit einer ID versehen:

<div id="watch"></div>

Mit document.getElementById('watch').innerHTML kann man das betreffende Element dann mit der Uhrzeit füllen. Bei erneutem Aufruf der Funktion durch setInterval() wird der Bereich neu überschrieben

01.02.2007 13:07 | geändert: 01.02.2007 13:12

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]