Archivlink: javarea.de Forum > JavaScript > JS Problem mit XHTML 1.0 Doctype
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > JS Problem mit XHTML 1.0 Doctype

Pages: [1]

geschrieben von sobi am 09.03.2008 - 18:40
Hallo. Ich hab ein chices Uhrensript, das mit dem Kalender von derletztekick eigentlich prima läuft, siehe hier::

HTML Demo der Download zu dem Script ist hier:: HTML Download

Wenn ich in der HTML Datei den DOCTYPE von HTML 4.01 Transitional auf XHTML 1.0 Transitional setze, funktioniert die Uhr nicht mehr, siehe hier::

XHTML Demo der Download zu dem Script ist hier:: HTML Download Die XHTML Datei ist validiert.


Weis jemand vielleicht, was ich an dem JS Code der Uhr ändern muss, damit die auch unter XHTML läuft ? Für die Interessierten hier mal der Code der Uhr, die wird einfach per
HTML-Quelltext
1: 
<script type="text/javascript" src="./clock.js"></script>
eingebunden.

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
91: 
92: 
93: 
94: 
95: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
//original script by courtesy of http://www.hopsings.de

var UhrTimerID     = null
var UhrTimerLaeuft = false
fCol = '000000';  //Farbe der Ziffern
sCol = 'ff0000';  //Farbe des Sekundenzeigers
mCol = '00CC66';  //Farbe des Minutenzeigers
hCol = '0000ff';  //Farbe des Stundenzeigers
H = '+++';
H = H.split('');
M = '++++';
M = M.split('');
S = '+++++';
S = S.split('');
Ybase = 8;
Xbase = 8;
dots = 12;
ns = (document.layers)?1:0;

//Netscape 4
if (document.layers) {
for (i = 0; i < dots; i++) {
document.write('<layer name=nsDigits'+i+' top=0 left=0 height=30 width=30><center><font face=Arial,Verdana size=1 color='+fCol+'>&bull;<\/font><\/center><\/layer>');
}
for (i = 0; i < M.length; i++) {
document.write('<layer name=ny'+i+' top=0 left=0 bgcolor='+mCol+' clip="0,0,2,2"><\/layer>');
}
for (i = 0; i < H.length; i++) {
document.write('<layer name=nz'+i+' top=0 left=0 bgcolor='+hCol+' clip="0,0,2,2"><\/layer>');
}
for (i = 0; i < S.length; i++) {
document.write('<layer name=nx'+i+' top=0 left=0 bgcolor='+sCol+' clip="0,0,2,2"><\/layer>');
   }
}

// Netscape 6 und IE 4/5
if (document.getElementById || document.all){
document.write('<div id=uhr style="position:absolute;top:0px;left:0px">');
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 1; i < dots+1; i++) {
document.write('<div id='+i+'ieDigits style="position:absolute;top:0px;left:0px;width:30px;height:30px;font-family:Arial,Verdana;font-size:10px;color:'+fCol+';text-align:center;padding-top:10px">&bull;<\/div>');
}
document.write('<\/div><\/div>')

document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < M.length; i++) {
document.write('<div id='+i+'y style="position:absolute;width:2px;height:2px;font-size:2px;background-color:'+mCol+'"><\/div>');
}
document.write('<\/div><\/div>')

document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < H.length; i++) {
document.write('<div id='+i+'z style="position:absolute;width:2px;height:2px;font-size:2px;background-color:'+hCol+'"><\/div>');
}
document.write('<\/div><\/div>')

document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < S.length; i++) {
document.write('<div id='+i+'x style="position:absolute;width:2px;height:2px;font-size:2px;background-color:'+sCol+'"><\/div>');
}
document.write('<\/div><\/div><\/div>')
}

function clock() {
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.57 + Math.PI * hr/6 + Math.PI*parseInt(time.getMinutes())/360;
{
Ypos = 60;
Xpos = 60;
}
//netscape 4
if (document.layers) {
for (i = 0; i < dots; ++i){
document.layers["nsDigits"+i].top = Ypos - 5 + 40 * Math.sin(-0.49+dots+i/1.9);
document.layers["nsDigits"+i].left = Xpos - 15 + 40 * Math.cos(-0.49+dots+i/1.9);
}
for (i = 0; i < S.length; i++){
document.layers["nx"+i].top = Ypos + i * Ybase * Math.sin(sec);
document.layers["nx"+i].left = Xpos + i * Xbase * Math.cos(sec);
}
for (i = 0; i < M.length; i++){
document.layers["ny"+i].top = Ypos + i * Ybase * Math.sin(min);
document.layers["ny"+i].left = Xpos + i * Xbase * Math.cos(min);
}
for (i = 0; i < H.length; i++){
document.layers["nz"+i].top = Ypos + i * Ybase * Math.sin(hrs);
document.layers["nz"+i].left = Xpos + i * Xbase * Math.cos(hrs);
   }
}
//netscape 6 und IE 5
if (document.getElementById) {
for (i=0; i < dots; ++i){
document.getElementById(1+i+"ieDigits").style.top = Ypos - 15 + 40 * Math.sin(-0.49+dots+i/1.9);
document.getElementById(1+i+"ieDigits").style.left = Xpos - 14 + 40 * Math.cos(-0.49+dots+i/1.9);
}
for (i=0; i < S.length; i++){
document.getElementById(i+"x").style.top = Ypos + i * Ybase * Math.sin(sec);
document.getElementById(i+"x").style.left = Xpos + i * Xbase * Math.cos(sec);
}
for (i=0; i < M.length; i++){
document.getElementById(i+"y").style.top = Ypos + i * Ybase * Math.sin(min);
document.getElementById(i+"y").style.left = Xpos + i * Xbase * Math.cos(min);
}
for (i=0; i < H.length; i++){
document.getElementById(i+"z").style.top = Ypos + i * Ybase *Math.sin(hrs);
document.getElementById(i+"z").style.left = Xpos + i * Xbase *Math.cos(hrs);
   }
}
// IE 4
if (document.all) {
for (i=0; i < dots; ++i){
document.all(1+i+"ieDigits").style.top = Ypos - 15 + 40 * Math.sin(-0.49+dots+i/1.9);
document.all(1+i+"ieDigits").style.left = Xpos - 14 + 40 * Math.cos(-0.49+dots+i/1.9);
}
for (i=0; i < S.length; i++){
document.all(i+"x").style.top = Ypos + i * Ybase * Math.sin(sec);
document.all(i+"x").style.left = Xpos + i * Xbase * Math.cos(sec);
}
for (i=0; i < M.length; i++){
document.all(i+"y").style.top = Ypos + i * Ybase * Math.sin(min);
document.all(i+"y").style.left = Xpos + i * Xbase * Math.cos(min);
}
for (i=0; i < H.length; i++){
document.all(i+"z").style.top = Ypos + i * Ybase *Math.sin(hrs);
document.all(i+"z").style.left = Xpos + i * Xbase *Math.cos(hrs);
   }
}

UhrTimerID = setTimeout('clock()', 50);
UhrTimerLaeuft = true
}

if (document.layers || document.getElementById || document.all) window.onload = clock;


geschrieben von Micha am 10.03.2008 - 16:22
Hi,

Zitat
 Weis jemand vielleicht, was ich an dem JS Code der Uhr ändern muss

Ja

Gruß Micha


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.