Pada artikel ini saya akan menjelaskan tentang membuat jam analog melayang di udara
Web anda akan lebih tampak keren dengan adanya jam melayang-layang di website anda.
Sebelum sobat membaca artikel ini atau ingin memahaminya saya sarankan kepada sobatuntuk menyiapkan secangkir kopi dan makanan ringan agar anda tidak jenuh dalam memahami artikel ini,karena artikel ini cukup banyak.
Basa-basinya cukup sampai disini saja kita langsung aja ke pokok-pokok pentingnya oke gan.
Copy dan paste script dibawah ini:
<script type="text/javascript">
// <![CDATA[
var second_hand_colour="#ff0000"; // warna jarum saat
var minute_hand_colour="#0f0"; // warna jarum minit
var hour_hand_colour="#ff0"; // warna jarum jam
var facia_colour="#fff"; // warna no jam
var face_colour="#FFFFCC"; //warna background jam
var xoffset=65; // jarak horizotal mouse dan jam
var yoffset=65; // jarak vertikal mouse dan jam
var size=122; // saiz jam

/****************************
*    Analogue Clock Effect  *
* (c)2006 mf2fm web-design  *
*  http://www.mf2fm.com/rv  *
* Tutorial by polskahackrew *
****************************/
var facia=String.fromCharCode(9660)+" 1 2 "+String.fromCharCode(9668)+" 4 5 "+String.fromCharCode(9650)+" 7 8 "+String.fromCharCode(9658)+" 10 11"; // characters to use for face, starting at '12' position
var clok;
var newx=xmo=400;
var newy=ymo=300;
window.onload=function() { if (document.getElementById) {
  var i, j, k;
  clok=document.createElement("div");
  clok.style.position="absolute";
  if (face_colour!="transparent") for (i=0; i<size; i++) {
      j=createDiv(false, face_colour);
      if (document.all) j.style.filter="Alpha(Opacity=50)";
      else j.style.opacity=0.5;
      k=size*Math.sqrt(i/size-Math.pow(i/size, 2));
      j.style.left=size/2-k+"px";
      j.style.top=i+"px";
      j.style.height="1px";
      j.style.width=k*2+"px";
      clok.appendChild(j);
  }
  for (i=1; i<size/4; i++) {
      j=createDiv("sec"+i, second_hand_colour);
      j.style.height="2px";
      j.style.width="2px";
      clok.appendChild(j);
  }
  for (i=1; i<size/4; i++) {
      j=createDiv("min"+i, minute_hand_colour);
      j.style.height="3px";
      j.style.width="3px";
      clok.appendChild(j);
  }
  for (i=0; i<size/6; i++) {
      j=createDiv("hour"+i, hour_hand_colour);
      j.style.height="4px";
      j.style.width="4px";
      if (!i) j.style.top=j.style.left=size/2-2+"px";
      clok.appendChild(j);
  }
  facia=facia.split(" ");
  for (i=0; i<12; i++) {
      j=createDiv(false, "transparent");
      j.style.color=facia_colour;
      j.style.font="bold 10pt monospace";
      j.style.overflow="visible";
      j.appendChild(document.createTextNode(facia[i]));
      j.style.top=size/2-7-size/2*Math.cos(i*Math.PI/6)+"px";
      j.style.left=size/2-5+size/2*Math.sin(i*Math.PI/6)+"px";
      clok.appendChild(j);
  }
  document.body.appendChild(clok);
  tick();
  tock();
}}


function tick() {
  var i, j;
  var now=new Date();
  var sec=(now.getSeconds()+(now.getMilliseconds()%1000)/1000)*Math.PI/30;
  for (i=1; i<size/4; i++) {
      j=document.getElementById("sec"+i).style;
      j.left=size/2+2*i*Math.sin(sec)-1+"px";
      j.top=size/2-2*i*Math.cos(sec)-1+"px";
  }
  xmo+=Math.floor((newx-xmo)/4);
  clok.style.left=xmo+"px";
  ymo+=Math.floor((newy-ymo)/4);
  clok.style.top=ymo+"px";
  setTimeout("tick()", 40);
}

function tock() {
  var i, j;
  var now=new Date();
  var min=(now.getMinutes()+now.getSeconds()/60)*Math.PI/30;
  var hrs=(now.getHours()+now.getMinutes()/60)*Math.PI/6
  for (i=1; i<size/4; i++) {
      j=document.getElementById("min"+i).style;
      j.left=size/2+2*i*Math.sin(min)-1.5+"px";
      j.top=size/2-2*i*Math.cos(min)-1.5+"px";
  }
  for (i=1; i<size/6; i++) {
      j=document.getElementById("hour"+i).style;
      j.left=size/2+2*i*Math.sin(hrs)-2+"px";
      j.top=size/2-2*i*Math.cos(hrs)-2+"px";
  }
  setTimeout("tock()", 999);
}
document.onmousemove=mouse;

function mouse(e) {
  newy=yoffset-size/2+((e)?e.pageY:event.y+scro());
  newx=xoffset-size/2+((e)?e.pageX:event.x);
}

function scro() {
  var scro=0;
  if (document.body.scrollTop) scro=document.body.scrollTop;
  else if (document.documentElement && document.documentElement.scrollTop) scro=document.documentElement.scrollTop;
  return (scro);
}

function createDiv(id, bg) {
  var div=document.createElement("div");
  div.style.position="absolute";
  div.style.overflow="hidden";
  div.style.backgroundColor=bg;
  if (id) div.setAttribute("id", id);
  return (div);
}
// ]]>
</script>