アナログ時計もどき (スクロール・バージョン)      
Sample 下の時計のようなものはウインドウと一緒にスクロールします。






ソース
<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
tm_color = '00ff00';
sec_color = 'ff0088';
min_color = 'ff0000';
hor_color = '000000';
H = 'xxxxx';
H = H.split('');
M = 'xxxxx';
M = M.split('');
S = 'xxxxx';
S = S.split('');
Y_pos = 0;
X_pos = 0;
Y_base = 8;
X_base = 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='+
tm_color+'>'+dgts[i]+'</font></center></layer>');
  }
  for (i = 0; i < M.length; i++) {
    document.write('<layer name=ny'+i+' top=0 left=0 bgcolor='+min_color+
' clip="0,0,2,2"></layer>');
  }
  for (i = 0; i < H.length; i++) {
    document.write('<layer name=nz'+i+' top=0 left=0 bgcolor='+hor_color+
' clip="0,0,2,2"></layer>');
  }
  for (i = 0; i < S.length; i++) {
    document.write('<layer name=nx'+i+' top=0 left=0 bgcolor='+sec_color+
' 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:'+tm_color+';text-align:center;padding-top:10px">'+i+'</div>');
  }
  document.write('</div></div>')
  document.write('<div style="position:absolute;top:0px;left:0px">'+
'<div style="po  sition:relative">');
  for (i = 0; i < M.length; i++) {
    document.write('<div id=y style="position:absolute;width:4px;height:'+
'4px;font-size:4px;background:'+min_color+'"></div>');
  }
  document.write('</div></div>')
  document.write('</div></div>')
  document.write('<div style="position:absolute;top:0px;left:0px">'+
'<div style="po  sition:relative">');
  for (i = 0; i < H.length; i++) {
    document.write('<div id=z style="position:absolute;width:4px;height:'+
'4px;font-size:4px;background:'+hor_color+'"></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:4px;height:'+
'4px;font-size:4px;background:'+sec_color+'"></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) {
    Y_pos = window.pageYOffset + 200;
    X_pos = window.pageXOffset + 400;
  }
  else {
    Y_pos = document.body.scrollTop + 200;
    X_pos = document.body.scrollLeft + 400;
  }
  if (ns) {
    for (i = 0; i < dots; ++i){
      document.layers["nsDigits"+i].top = Y_pos - 5 + 40 * Math.sin(-0.49+dots+i/1.9);
      document.layers["nsDigits"+i].left = X_pos - 15 + 40 * Math.cos(-0.49+dots+i/1.9);
    }
    for (i = 0; i < S.length; i++){
      document.layers["nx"+i].top = Y_pos + i * Y_base * Math.sin(sec);
      document.layers["nx"+i].left = X_pos + i * X_base * Math.cos(sec);
    }
    for (i = 0; i < M.length; i++){
      document.layers["ny"+i].top = Y_pos + i * Y_base * Math.sin(min);
      document.layers["ny"+i].left = X_pos + i * X_base * Math.cos(min);
    }
    for (i = 0; i < H.length; i++){
      document.layers["nz"+i].top = Y_pos + i * Y_base * Math.sin(hrs);
      document.layers["nz"+i].left = X_pos + i * X_base * Math.cos(hrs);
    }
  }
  else{
    for (i=0; i < dots; ++i){
      ieDigits[i].style.pixelTop = Y_pos - 15 + 40 * Math.sin(-0.49+dots+i/1.9);
      ieDigits[i].style.pixelLeft = X_pos - 14 + 40 * Math.cos(-0.49+dots+i/1.9);
    }
    for (i=0; i < S.length; i++){
      x[i].style.pixelTop = Y_pos + i * Y_base * Math.sin(sec);
      x[i].style.pixelLeft = X_pos + i * X_base * Math.cos(sec);
    }
    for (i=0; i < M.length; i++){
      y[i].style.pixelTop = Y_pos + i * Y_base * Math.sin(min);
      y[i].style.pixelLeft = X_pos + i * X_base * Math.cos(min);
    }
    for (i=0; i < H.length; i++){
      z[i].style.pixelTop = Y_pos + i * Y_base*Math.sin(hrs);
      z[i].style.pixelLeft = X_pos + i * X_base*Math.cos(hrs);
    }
  }
  setTimeout('clock()', 50);
}
if (document.layers || document.all) window.onload = clock;
//-->
</SCRIPT>

</HEAD>
<BODY>
</BODY>
</HTML>
ワンポイント解説
ネットスケープの場合、
Y_pos = window.pageYOffset + 200;
X_pos = window.pageXOffset + 400;
 で、ウインドウの上端、左端からの距離を、

IEの場合、
Y_pos = document.body.scrollTop + 200;
X_pos = document.body.scrollLeft + 400;
 で、ウインドウの上端、左端からの距離を指定しているので、スクロールします。

時計がスクロールしない、固定バージョンは、
Y_pos = 200;
X_pos = 400;
と、指定しています。