Was is hier noch falsch dran?

DerbyStar

Mitglied
Ihc brauchte ein Script das mir Uhrzeit, Datum und Internetzeit [Beats] anzeigen soll...also hab ichs mir zusammen gesucht...

<script language="JavaScript">

function ZeitAnzeigen()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var Sekunden = Jetzt.getSeconds();
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 = Datum + " | " + Uhrzeit + " | " + "<a href='platten.htm'>@ 536 Beatz</a> ";

if(document.all)
document.all.MicrosoftUhr.innerHTML = Gesamt;
else if(document.layers)
{
document.NetscapeUhr.document.open();
Gesamt = '<span class="Uhr")>' + Gesamt + '</span>';
document.NetscapeUhr.document.write(Gesamt);
document.NetscapeUhr.document.close();
}

window.setTimeout("ZeitAnzeigen()",1000);
}
// -->
</script>

<div id="MicrosoftUhr" class="Uhr">
</div>
<layer id="NetscapeUhr">
</layer>
<script language="JavaScript">
window.setTimeout("ZeitAnzeigen()",1000);
</script>

<script language="JavaScript">

time = new Date();
year = time.getYear();
if (year < 100) {
if (year < 99) {
year += 2000;
} else {
year += 1900;
}
}
mon = time.getMonth();
date = time.getDate();
diffmin = time.getTimezoneOffset();
time2 = new Date(year,mon,date);
time2 = time - time2;
beats = (time2 + diffmin * 60000 + 3600000) / 86400;
if (beats < 0) {
beats += 1000;
}
beats = Math.round(beats * 100);
beats2 = beats % 100;
beats = (beats - beats2) / 100;
if (beats == 1000) {
beats = 0;
}
if ((beats < 100 ) && (beats >= 10)) {
beats = "0" + beats;
}
if (beats < 10) {
beats = "00" + beats;
}

document.write("@ " + beats + " Beatz</a>");
window.setTimeout('beats',1000);

</script>


Es gibt nur 2 Probleme:
1. Die Beatsanzeige aktualisiert sich nich obwohl window.setTimeout('beats',1000);!!

2. Die Beats schreiben sich automatisch in ne neue zeile also nich so
13.05.02 | 20:32:14 | @ 534 Beats

sondern so

13.05.02 | 20:32:14 |
@ 534 Beats

...also ich wäre dir sehr verbunden wenn mir jemand helfen könnte...THX
 
also

weder
13.05.02 | 20:32:14 | @ 534 Beats
noch
13.05.02 | 20:32:14 |
@ 534 Beats

wird angezeigt, sondern so

Code:
21.05.2002 | 15:54:33 | @ 536 Beatz 
@ 619 Beatz

wird das ganze angezeigt. wieso ist eigentlich das '@ 536 Beatz' ein link?

du musst einfach nur in der zeile:
Code:
var Gesamt = Datum + " | " + Uhrzeit + " | " + "<a href='platten.htm'>@ 536 Beatz</a> ";

das dranhängen:
Code:
+ "@ " + beats + " Beatz "

das schaut dann so aus:
Code:
var Gesamt = Datum + " | " + Uhrzeit + " | " + "<a href='platten.htm'>@ 536 Beatz</a> " + "@ " + beats + " Beatz";

dann kannst du dir die vorletzte zeile sparen (also löschen):
Code:
document.write("@ " + beats + " Beatz</a>");

ich hoffe, ich konnte weiterhelfen. bei fehlern bitte ich um kurze pm.

mfg
t0ny

//edit

also der ganze quelltext schaut dann so aus:
Code:
<script language="JavaScript"> 

function ZeitAnzeigen() 
{ 
var Jetzt = new Date(); 
var Tag = Jetzt.getDate(); 
var Monat = Jetzt.getMonth() + 1; 
var Jahr = Jetzt.getYear(); 
var Stunden = Jetzt.getHours(); 
var Minuten = Jetzt.getMinutes(); 
var Sekunden = Jetzt.getSeconds(); 
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 = Datum + " | " + Uhrzeit + " | " + "<a href='platten.htm'>@ 536 Beatz</a> " + "@ " + beats + " Beatz "; 

if(document.all) 
document.all.MicrosoftUhr.innerHTML = Gesamt; 
else if(document.layers) 
{ 
document.NetscapeUhr.document.open(); 
Gesamt = '<span class="Uhr")>' + Gesamt + '</span>'; 
document.NetscapeUhr.document.write(Gesamt); 
document.NetscapeUhr.document.close(); 
} 

window.setTimeout("ZeitAnzeigen()",1000); 
} 
// --> 
</script> 

<div id="MicrosoftUhr" class="Uhr"> 
</div> 
<layer id="NetscapeUhr"> 
</layer> 
<script language="JavaScript"> 
window.setTimeout("ZeitAnzeigen()",1000); 
</script> 

<script language="JavaScript"> 

time = new Date(); 
year = time.getYear(); 
if (year < 100) { 
if (year < 99) { 
year += 2000; 
} else { 
year += 1900; 
} 
} 
mon = time.getMonth(); 
date = time.getDate(); 
diffmin = time.getTimezoneOffset(); 
time2 = new Date(year,mon,date); 
time2 = time - time2; 
beats = (time2 + diffmin * 60000 + 3600000) / 86400; 
if (beats < 0) { 
beats += 1000; 
} 
beats = Math.round(beats * 100); 
beats2 = beats % 100; 
beats = (beats - beats2) / 100; 
if (beats == 1000) { 
beats = 0; 
} 
if ((beats < 100 ) && (beats >= 10)) { 
beats = "0" + beats; 
} 
if (beats < 10) { 
beats = "00" + beats; 
} 

window.setTimeout('beats',1000); 

</script>
 
Zuletzt bearbeitet:
BIG THX...der Link is nur so das weil ich was an meiner Hp probiert habe...
Aber die Beatz aktualisieren sich noch nich alle 1000ms...!?!?
 
Weis einer warum sich die Beats Zeit nicht alle 1000ms aktualisiert aber die uhrzeit??????

<script language="JavaScript">
function ZeitAnzeigen()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var Sekunden = Jetzt.getSeconds();
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 = Datum + " | " + Uhrzeit + " | " + "<a href='platten.htm'>@ 536 Beatz</a> ";

if(document.all)
document.all.MicrosoftUhr.innerHTML = Gesamt;
else if(document.layers)
{
document.NetscapeUhr.document.open();
Gesamt = '<span class="Uhr")>' + Gesamt + '</span>';
document.NetscapeUhr.document.write(Gesamt);
document.NetscapeUhr.document.close();
}

window.setTimeout("ZeitAnzeigen()",1000);
}
// -->
</script>
<div id="MicrosoftUhr" class="Uhr">
</div>
<layer id="NetscapeUhr">
</layer>
<script language="JavaScript">
window.setTimeout("ZeitAnzeigen()",1000);
</script>

<script language="JavaScript">

time = new Date();
year = time.getYear();
if (year < 100) {
if (year < 99) {
year += 2000;
} else {
year += 1900;
}
}
mon = time.getMonth();
date = time.getDate();
diffmin = time.getTimezoneOffset();
time2 = new Date(year,mon,date);
time2 = time - time2;
beats = (time2 + diffmin * 60000 + 3600000) / 86400;
if (beats < 0) {
beats += 1000;
}
beats = Math.round(beats * 100);
beats2 = beats % 100;
beats = (beats - beats2) / 100;
if (beats == 1000) {
beats = 0;
}
if ((beats < 100 ) && (beats >= 10)) {
beats = "0" + beats;
}
if (beats < 10) {
beats = "00" + beats;
}
document.write("@ " + beats + " Beatz</a>");
window.setTimeout('beats',1000);
</script>
 
Mein Tip ..

Soweit ich weiß, kann man mit setTimeout nur Funktionen aufrufen,
nicht Variablen .. also kann :

PHP:
 window.setTimeout('beats',1000);

überhaupt nicht funktionieren.

Zitat SelfHTML 8.0
setTimeout()

Führt eine Anweisung nach einer bestimmten Verzögerungszeit aus. Erwartet zwei Parameter:
1. Code = Eine JavaScript-Anweisung, die wiederholt werden soll. Meistens ein Funktionsaufruf.
2. Pause = Wert in Millisekunden bis zum Ausführen.

Schreib dir einfach eine Funktion mit Rückgabewert, die
dir Beats aufschreibt. Wie oben bei Zeit eben.
 
also

Code:
<!--
	Desktopbeats v1.1 - Freeware

	http://www.nordwerk.de/download/desktopbeats/
	info@nordwerk.de

	Copyright (c) 1999 by NORDWERK.DE, All Rights Reserved

//-->
<style type="text/css">
<!--
	.beatanzeige {
		font-family:    arial;
		font-size:		80px;
		color:			#848484;
		font-weight:    bold;
		font-style:		italic;
		text-align:		center;
		width:			400px;
		height:			100px;
		border:			none;
	}
//-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
	function startclock() {
		taddr=0;
		if (navigator.appVersion.substring(0,1) >= 4) {
			if (taddr == 0) {
				prttime();
				taddr = setInterval("prttime()",125);
			}
		}
	}

	function stopclock() {
		if (taddr != 0) {
			clearInterval(taddr);
			taddr = 0;
		}
	}

	function prttime() {
		time = new Date();
		year = time.getYear();
		if (year < 100) {
			if (year < 99) {
				year += 2000;
			}
			else {
				year += 1900;
			}
		}
		mon = time.getMonth();
		date = time.getDate();
		diffmin = time.getTimezoneOffset();
		time2 = new Date(year,mon,date);
		time2 = time - time2;
		beats = (time2 + diffmin * 60000 + 3600000) / 86400;
		if (beats < 0) {
			beats += 1000;
		}
		beats = Math.round(beats * 100);
		beats2 = beats % 100;
		beats = (beats - beats2) / 100;
		if (beats == 1000) {
			beats = 0;
		}
		if ((beats < 100 ) && (beats >= 10)) {
			beats = "0" + beats;
		}
		if (beats < 10) {
			beats = "00" + beats;
		}
		if (beats2 < 10) {
			beats2 = "0" + beats2;
		}
		jetzt = new Date();
		norm_std = jetzt.getHours();
		norm_min = jetzt.getMinutes();
		norm_sec = jetzt.getSeconds();
		if (norm_std < 10) {
			norm_std = "0" + norm_std;
		}
		if (norm_min < 10) {
			norm_min = "0" + norm_min;
		}
		if (norm_sec < 10) {
			norm_sec = "0" + norm_sec;
		}
		window.document.clockview.beats.value = "@" + beats + "://" + beats2;
		window.document.clockview.clock.value = norm_std + ':' + norm_min + ':' + norm_sec;
	}
//-->
</script>
</head>
<body onLoad="startclock()">
<center>
<form name="clockview"><input type="text" size="5" name="beats" class="beatanzeige" readonly><br><input type="text" size="5" name="clock" class="beatanzeige" readonly></form>
</center>

beispiel

mfg
t0ny
 
THx aber ich habe das Problem schon selber gelöst - komisch das das hier niemand konnte, obwohl das eine ganz simple javaScript-Routine is...[ich bin nich so mit javascript aber nach ne Weile habe ichs hinbekommen!]:eek:

Code:
<script language="JavaScript"> 

function ThaTime() 
{ 
time = new Date(); 
year = time.getYear(); 
if (year < 100) { 
if (year < 99) { 
year += 2000; 
} else { 
year += 1900; 
} 
} 
mon = time.getMonth(); 
date = time.getDate(); 
diffmin = time.getTimezoneOffset(); 
time2 = new Date(year,mon,date); 
time2 = time - time2; 
beats = (time2 + diffmin * 60000 + 3600000) / 86400; 
if (beats < 0) { 
beats += 1000; 
} 
beats = Math.round(beats * 100); 
beats2 = beats % 100; 
beats = (beats - beats2) / 100; 
if (beats == 1000) { 
beats = 0; 
} 
if ((beats < 100 ) && (beats >= 10)) { 
beats = "0" + beats; 
} 
if (beats < 10) { 
beats = "00" + beats; 
} 

var Jetzt = new Date(); 
var Tag = Jetzt.getDate(); 
var Monat = Jetzt.getMonth() + 1; 
var Jahr = Jetzt.getYear(); 
var Stunden = Jetzt.getHours(); 
var Minuten = Jetzt.getMinutes(); 
var Sekunden = Jetzt.getSeconds(); 
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 = "<b>" + Datum + " | " + Uhrzeit + " | @ " + beats + " Beatz</b> "; 

if(document.all) 
document.all.MicrosoftUhr.innerHTML = Gesamt; 
else if(document.layers) 
{ 
document.NetscapeUhr.document.open(); 
Gesamt = '<span class="Uhr")>' + Gesamt + '</span>'; 
document.NetscapeUhr.document.write(Gesamt); 
document.NetscapeUhr.document.close(); 
} 
window.setTimeout("ThaTime()",1000); 
} 
// --> 
</script> 

<div id="MicrosoftUhr" class="Uhr"> 
</div> 
<layer id="NetscapeUhr"> 
</layer> 
<script language="JavaScript"> 
window.setTimeout("ThaTime()",1000); 
</script>
 
Wie kann ich das Script einsetzen? Ich habe noch keine Ahnung von JavaScript.

Ich habe die Function in <head> eingebunden und dann wird

<div id="MicrosoftUhr" class="Uhr">
</div>
<layer id="NetscapeUhr">
</layer>
<script language="JavaScript">
window.setTimeout("ZeitAnzeigen()",1000);
</script>

im Body an der entsprechenden Stelle "ausgeführt". Aber nix passiert es erscheint keine Uhrzeit :(
 

Anhänge

Zuletzt bearbeitet:
das musst du genau an die stelle im body setzen wo die uhr hinsoll! nich in head. aber gut das du es nochmal aufgemacht hast, weil hab auch noch ne frage. und zwar wie krieg ich es dazu es auch in mozilla ? weil da wird keine uhr angezeigt. danke
 
DerbyStar hat gesagt.:
das musst du genau an die stelle im body setzen wo die uhr hinsoll! nich in head. aber gut das du es nochmal aufgemacht hast, weil hab auch noch ne frage. und zwar wie krieg ich es dazu es auch in mozilla ? weil da wird keine uhr angezeigt. danke

Habe ich gemacht, geht aber aber trozdem nicht :(
Ich habe mal die Seiten angehangen, ich würde mich freuen wenn einer von euch den Fehler beheben würde. Die uhr soll in den Frame (index.html) zwischen dem Banner und dem Counter.
 

Anhänge

Neue Beiträge

Zurück