lz用下面的试试。
有三个点:
1. 颜色要用#开始
2. document.body的位置信息,用document.body.parentNode代替(注意,不是document元素)
3. div不包含文字,大小问题<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<title>  </title> 
</head> <body> 
<div style="height:2000px; width:100%"> </div> 
<SCRIPT LANGUAGE="JavaScript"> 
fCol = '#000000'; 
sCol = '#ff0000'; 
mCol = '#000000'; 
hCol = '#000000'; 
H = '....'; 
H = H.split(''); 
M = '.....'; 
M = M.split(''); 
S = '......'; 
S = S.split(''); 
Ypos = 0; 
Xpos = 0; 
Ybase = 8; 
Xbase = 8; 
dots = 12; 
ns = (document.layers)?1:0; 
if (ns) { 
dgts = '1 2 3 4 5 6 7 8 9 10 11 12'; 
dgts = dgts.split(' '); 
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+'>'+dgts[i]+' </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>'); 


else { 
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="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">'+i+' </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=y style="position:absolute;width:2px;height:2px;font-size:2px;color:'+mCol+'">a</div>'); 

document.write(' </div> </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=z style="position:absolute;width:2px;height:2px;font-size:2px;color:'+hCol+'">a</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=x style="position:absolute;width:2px;height:2px;font-size:2px;color:'+sCol+'">a</div>'); 

document.write(' </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; 
if (ns) { 
Ypos = window.pageYOffset+window.innerHeight-60; 
Xpos = window.pageXOffset+window.innerWidth-80; 

else { 
Ypos = document.body.parentNode.scrollTop + document.body.parentNode.clientHeight - 60; 
Xpos = document.body.parentNode.scrollLeft + document.body.parentNode.clientWidth - 60; 

if (ns) { 
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); 


else{ 
for (i=0; i < dots; ++i){ 
ieDigits[i].style.pixelTop = Ypos - 15 + 40 * Math.sin(-0.49+dots+i/1.9); 
ieDigits[i].style.pixelLeft = Xpos - 14 + 40 * Math.cos(-0.49+dots+i/1.9); 

for (i=0; i < S.length; i++){ 
x[i].style.pixelTop = Ypos + i * Ybase * Math.sin(sec); 
x[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(sec); 

for (i=0; i < M.length; i++){ 
y[i].style.pixelTop = Ypos + i * Ybase * Math.sin(min); 
y[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(min); 

for (i=0; i < H.length; i++){ 
z[i].style.pixelTop = Ypos + i * Ybase*Math.sin(hrs); 
z[i].style.pixelLeft = Xpos + i * Xbase*Math.cos(hrs); 


setTimeout('clock()', 50); 
}if (document.layers || document.all) window.onload = clock; </script> 
</body> </html>