Animasi Mengikuti Gerakan Kursor

Sektiar tahun 2003-an pertama kali saya membuat situs DCC dengan tampilan yang begitu STATIS, karena saya baru bisa membuat web dengan tampilsan statis alias tidak menggunakan database sama sekali, pertama sekali saya berurusan dengan domain dan hosting saya bingun-bingung dan bingung, tapi untunglah pak HERI dari bandung sebagai instruktur saya dulu menyarankan saya untuk meminta bantuan pihak ketiga, dan jatuhlah pilihan saya pada http://apenta.com. mengingat waktu itu pendaftaran domain ID apa lagi untuk pendidikan sangat sangat sulit persyaratannya, tapi akhirnya berhasil juga dengan domain : http://dcc.ac.id sekaligus hosting di apenta.

Sejak 2006 saya sudah tidak lagi berurusan dengan yang namanya domain dan hosting, karena memang saya sudah tidak lagi menangani situs dcc. tapi kenapa kok sekarang http://dcc.ac.id tidak bisa di akses, ada masalah apa ? apakah sewa domain or hosting sudah habis ? atau …. (gx tau kenapa). saya jadi ingat waktu saya pertama buat situs dan sekarang saya masih simpan filenya di salah satu hosting gratis di http://www.zymic.com/ dengan tampilan http://xonket.99k.org/index.html, yang saya paling suka waktu itu adalah effect javascript yang membuat satu animasi teks yang memutar menampilan hari, tanggal dan jam system mengikuti gerakan kursor.

Setelah bongkar-bongkar ISI PERUTnya inext saya menemukan Kode java seperti ini, kalo mau coba ya boleh silahkan salin..

<script language=”javascript”>
dCol=’white’;//date colour.
fCol=’red’;//face colour.
sCol=’red’;//seconds colour.
mCol=’white’;//minutes colour.
hCol=’white’;//hours colour.
ClockHeight=40;
ClockWidth=40;
ClockFromMouseY=50;
ClockFromMouseX=70;

d=new Array(“MINGGU”,”SENIN”,”SELASA”,”RABU”,”KAMIS”,”JUMAT”,”SABTU”);
m=new Array(“JANUARI”,”FEBRUARI”,”MARET”,”APRIL”,”MEI”,”JUNI”,”JULI”,”AGUSTUS”,”SEPTEMBER”,”OKTOBER”,”NOVEMBER”,”DESEMBER”);
date=new Date();
day=date.getDate();
year=date.getYear();
if (year < 2000) year=year+1900;
TodaysDate=” “+d[date.getDay()]+” “+day+” “+m[date.getMonth()]+” “+year;
D=TodaysDate.split(”);
clockH=’…’;
clockH=clockH.split(”);
M=’….’;
M=M.split(”);
S=’…..’;
S=S.split(”);
Face=’1 2 3 4 5 6 7 8 9 10 11 12′;
font=’TAHOMA’;
size=1;
speed=0.5;
ns=(document.layers);
ie=!ns;
Face=Face.split(‘ ‘);
n=Face.length;
a=size*10;
ymouse=0;
xmouse=0;
scrll=0;
props=”<font face=”+font+” size=”+size+” color=”+fCol+”><B>”;
props2=”<font face=”+font+” size=”+size+” color=”+dCol+”><B>”;
Split=360/n;
Dsplit=360/D.length;
HandHeight=ClockHeight/4.5
HandWidth=ClockWidth/4.5
HandY=-7;
HandX=-2.5;
scrll=0;
if (ie && !(document.all)){
step=0.09;
} else {
step=0.06;
}

currStep=0;
clocky=new Array();clockx=new Array();clockY=new Array();clockX=new Array();
for (i=0; i < n; i++){clocky[i]=0;clockx[i]=0;clockY[i]=0;clockX[i]=0}
clockDy=new Array();clockDx=new Array();clockDY=new Array();clockDX=new Array();
for (i=0; i < D.length; i++){clockDy[i]=0;clockDx[i]=0;clockDY[i]=0;clockDX[i]=0}
if (ns){
for (i=0; i < D.length; i++)
document.write(‘<layer name=”nsDate’+i+'” top=0 left=0 height=’+a+’ width=’+a+’><center>’+props2+D[i]+'</font></center></layer>’);
for (i=0; i < n; i++)
document.write(‘<layer name=”nsFace’+i+'” top=0 left=0 height=’+a+’ width=’+a+’><center>’+props+Face[i]+'</font></center></layer>’);
for (i=0; i < S.length; i++)
document.write(‘<layer name=nsSeconds’+i+’ top=0 left=0 width=15 height=15><font face=Arial size=3 color=’+sCol+’><center><b>’+S[i]+'</b></center></font></layer>’);
for (i=0; i < M.length; i++)
document.write(‘<layer name=nsMinutes’+i+’ top=0 left=0 width=15 height=15><font face=Arial size=3 color=’+mCol+’><center><b>’+M[i]+'</b></center></font></layer>’);
for (i=0; i < clockH.length; i++)
document.write(‘<layer name=nsHours’+i+’ top=0 left=0 width=15 height=15><font face=Arial size=3 color=’+hCol+’><center><b>’+clockH[i]+'</b></center></font></layer>’);
}
if (ie){
document.write(‘<div id=”Od” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < D.length; i++)
document.write(‘<div id=”ieDate’+i+'” style=”position:absolute;top:0px;left:0;height:’+a+’;width:’+a+’;text-align:center”>’+props2+D[i]+'</B></font></div>’);
document.write(‘</div></div>’);
document.write(‘<div id=”Of” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < n; i++)
document.write(‘<div id=”ieFace’ + i + ‘” style=”position:absolute;top:0px;left:0;height:’+a+’;width:’+a+’;text-align:center”>’+props+Face[i]+'</B></font></div>’);
document.write(‘</div></div>’);
document.write(‘<div id=”Oh” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < clockH.length; i++)
document.write(‘<div id=”ieHours’ + i + ‘” style=”position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:’+hCol+’;text-align:center;font-weight:bold”>’+clockH[i]+'</div>’);
document.write(‘</div></div>’);
document.write(‘<div id=”Om” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < M.length; i++)
document.write(‘<div id=”ieMinutes’+i+'” style=”position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:’+mCol+’;text-align:center;font-weight:bold”>’+M[i]+'</div>’);
document.write(‘</div></div>’)
document.write(‘<div id=”Os” style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
for (i=0; i < S.length; i++)
document.write(‘<div id=”ieSeconds’+i+'” style=”position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:’+sCol+’;text-align:center;font-weight:bold”>’+S[i]+'</div>’);
document.write(‘</div></div>’)
}
(ns)?window.captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt){
ymouse = (!document.all)?evnt.pageY+ClockFromMouseY-(window.pageYOffset):event.y+ClockFromMouseY;
xmouse = (!document.all)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;
}
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
function ClockAndAssign(){
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.575 + Math.PI * hr/6+Math.PI*parseInt(time.getMinutes())/360;
if (ie){

document.getElementById(“Od”).style.top=window.document.body.scrollTop;
document.getElementById(“Of”).style.top=window.document.body.scrollTop;
document.getElementById(“Oh”).style.top=window.document.body.scrollTop;
document.getElementById(“Om”).style.top=window.document.body.scrollTop;
document.getElementById(“Os”).style.top=window.document.body.scrollTop;
}
for (i=0; i < n; i++){
var F=(ns)?document.layers[‘nsFace’+i]:document.getElementById(“ieFace” + i ).style;
F.top=clocky[i] + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll;
F.left=clockx[i] + ClockWidth*Math.cos(-1.0471 + i*Split*Math.PI/180);
}
for (i=0; i < clockH.length; i++){
var HL=(ns)?document.layers[‘nsHours’+i]:document.getElementById(“ieHours”+i).style;
HL.top=clocky[i]+HandY+(i*HandHeight)*Math.sin(hrs)+scrll;
HL.left=clockx[i]+HandX+(i*HandWidth)*Math.cos(hrs);
}
for (i=0; i < M.length; i++){
var ML=(ns)?document.layers[‘nsMinutes’+i]:document.getElementById(“ieMinutes”+i).style;
ML.top=clocky[i]+HandY+(i*HandHeight)*Math.sin(min)+scrll;
ML.left=clockx[i]+HandX+(i*HandWidth)*Math.cos(min);
}
for (i=0; i < S.length; i++){
var SL=(ns)?document.layers[‘nsSeconds’+i]:document.getElementById(“ieSeconds” + i).style;
SL.top=clocky[i]+HandY+(i*HandHeight)*Math.sin(sec)+scrll;
SL.left=clockx[i]+HandX+(i*HandWidth)*Math.cos(sec);
}
for (i=0; i < D.length; i++){
var DL=(ns)?document.layers[‘nsDate’+i]:document.getElementById(“ieDate” + i).style;
DL.top=clockDy[i] + ClockHeight*1.5*Math.sin(currStep+i*Dsplit*Math.PI/180)+scrll;
DL.left=clockDx[i] + ClockWidth*1.5*Math.cos(currStep+i*Dsplit*Math.PI/180);
}
currStep-=step;
}
function Delay(){
scrll=(ns)?window.pageYOffset:0;
clockDy[0]=Math.round(clockDY[0]+=((ymouse)-clockDY[0])*speed);
clockDx[0]=Math.round(clockDX[0]+=((xmouse)-clockDX[0])*speed);
for (i=1; i < D.length; i++){
clockDy[i]=Math.round(clockDY[i]+=(clockDy[i-1]-clockDY[i])*speed);
clockDx[i]=Math.round(clockDX[i]+=(clockDx[i-1]-clockDX[i])*speed);
}
clocky[0]=Math.round(clockY[0]+=((ymouse)-clockY[0])*speed);
clockx[0]=Math.round(clockX[0]+=((xmouse)-clockX[0])*speed);
for (i=1; i < n; i++){
clocky[i]=Math.round(clockY[i]+=(clocky[i-1]-clockY[i])*speed);
clockx[i]=Math.round(clockX[i]+=(clockx[i-1]-clockX[i])*speed);
}
ClockAndAssign();
setTimeout(‘Delay()’,50);
}

if (ns||ie) {
Delay();
}
</script>

Iklan

5 Tanggapan to “Animasi Mengikuti Gerakan Kursor”

  1. nthong Says:

    mas ijin copas yo…

  2. Admin Says:

    Silahken Nthong…

  3. pursandi Says:

    Sukses Selalu dech Buat Bapak Dengan Karir yang sedang berkembang….

  4. Admin Says:

    Terimakasih Pursandi…

    Sukses juga buat semuanya

  5. boljebol Says:

    bos….klo gambar mengikuti kursor pake macromedia flash bisa ta? tolong kasi contoh dan action scriptny yah klo bisa? thx

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s


%d blogger menyukai ini: