Supaya tampilan kursor di blog tidak membosankan, mungkin kita perlu menambahkan sedikit efek animasi pada kursor kita. Kali ini saya punya beberapa cara menghias kursor, caranya:
- Login ke Blogger
- Pilih Tata Letak
- Pilih Tambah Gadget
- Pilih HTML/Javascript
- Masukkan salah satu dari kode berikut.
ATAU
- Login ke Blogger
- Pilih Template
- Pilih Edit HTML
- Taruh salah satu kode berikut diatas </head>
1. Membuat Kursor dengan Efek Gelembung
<script type="text/javascript">
var colours=new Array("#F781BE", "#F781BE", "#F781BE", "#F781BE", "#F781BE"); // warna untuk border-top, border-right, border-bottom, border-left dan background gelembung
var bubbles=100; // jumlah maksmal gelembung
var x=ox=400;
var y=oy=300;
var swide=800;
var shigh=600;
var sleft=sdown=0;
var bubb=new Array();
var bubbx=new Array();
var bubby=new Array();
var bubbs=new Array();
window.onload=function() { if (document.getElementById) {
var rats, div;
for (var i=0; i<bubbles; i++) {
rats=createDiv("3px", "3px");
rats.style.visibility="hidden";
div=createDiv("auto", "auto");
rats.appendChild(div);
div=div.style;
div.top="1px";
div.left="0px";
div.bottom="1px";
div.right="0px";
div.borderLeft="1px solid "+colours[3];
div.borderRight="1px solid "+colours[1];
div=createDiv("auto", "auto");
rats.appendChild(div);
div=div.style;
div.top="0px";
div.left="1px";
div.right="1px";
div.bottom="0px"
div.borderTop="1px solid "+colours[0];
div.borderBottom="1px solid "+colours[2];
div=createDiv("auto", "auto");
rats.appendChild(div);
div=div.style;
div.left="1px";
div.right="1px";
div.bottom="1px";
div.top="1px";
div.backgroundColor=colours[4];
div.opacity=0.5;
if (document.all) div.filter="alpha(opacity=50)";
document.body.appendChild(rats);
bubb[i]=rats.style;
}
set_scroll();
set_width();
bubble();
}}
function bubble() {
var c;
if (x!=ox || y!=oy){
ox=x;
oy=y;
for (c=0; c<bubbles; c++) if (!bubby[c]) {
bubb[c].left=(bubbx[c]=x)+"px";
bubb[c].top=(bubby[c]=y)+"px";
bubb[c].width="3px";
bubb[c].height="3px"
bubb[c].visibility="visible";
bubbs[c]=3;
break;
}
}
for (c=0; c<bubbles; c++) if (bubby[c]) update_bubb(c);
setTimeout("bubble()", 40);
}
function update_bubb(i) {
if (bubby[i]) {
bubby[i]-=bubbs[i]/2+i%2;
bubbx[i]+=(i%5-2)/5;
if (bubby[i]>sdown && bubbx[i]>0) {
if (Math.random()<bubbs[i]/shigh*2 && bubbs[i]++<8) {
bubb[i].width=bubbs[i]+"px";
bubb[i].height=bubbs[i]+"px";
}
bubb[i].top=bubby[i]+"px";
bubb[i].left=bubbx[i]+"px";
}
else {
bubb[i].visibility="hidden";
bubby[i]=0;
return;
}
}
}
document.onmousemove=mouse;
function mouse(e) {
set_scroll();
y=(e)?e.pageY:event.y+sleft;
x=(e)?e.pageX:event.x+sdown;
}
window.onresize=set_width;
function set_width() {
if (document.documentElement && document.documentElement.clientWidth) {
swide=document.documentElement.clientWidth;
shigh=document.documentElement.clientHeight;
}
else if (typeof(self.innerHeight)=="number") {
swide=self.innerWidth;
shigh=self.innerHeight;
}
else if (document.body.clientWidth) {
swide=document.body.clientWidth;
shigh=document.body.clientHeight;
}
else {
swide=800;
shigh=600;
}
}
window.onscroll=set_scroll;
function set_scroll() {
if (typeof(self.pageYOffset)=="number") {
sdown=self.pageYOffset;
sleft=self.pageXOffset;
}
else if (document.body.scrollTop || document.body.scrollLeft) {
sdown=document.body.scrollTop;
sleft=document.body.scrollLeft;
}
else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
sleft=document.documentElement.scrollLeft;
sdown=document.documentElement.scrollTop;
}
else {
sdown=0;
sleft=0;
}
}
function createDiv(height, width) {
var div=document.createElement("div");
div.style.position="absolute";
div.style.height=height;
div.style.width=width;
div.style.overflow="hidden";
return (div);
}
</script>
2. Membuat Kursor dengan Efek Bintang Berjatuhan
<script type="text/javascript">
var colour="White"; //Warna bintang
var sparkles=65; //Jumlah bintang
var x=ox=400;
var y=oy=300;
var swide=800;
var shigh=600;
var sleft=sdown=0;
var tiny=new Array();
var star=new Array();
var starv=new Array();
var starx=new Array();
var stary=new Array();
var tinyx=new Array();
var tinyy=new Array();
var tinyv=new Array();
window.onload=function() { if (document.getElementById) {
var i, rats, rlef, rdow;
for (var i=0; i<sparkles; i++) {
var rats=createDiv(3, 3);
rats.style.visibility="hidden";
document.body.appendChild(tiny[i]=rats);
starv[i]=0;
tinyv[i]=0;
var rats=createDiv(5, 5);
rats.style.backgroundColor="transparent";
rats.style.visibility="hidden";
var rlef=createDiv(1, 5);
var rdow=createDiv(5, 1);
rats.appendChild(rlef);
rats.appendChild(rdow);
rlef.style.top="2px";
rlef.style.left="0px";
rdow.style.top="0px";
rdow.style.left="2px";
document.body.appendChild(star[i]=rats);
}
set_width();
sparkle();
}}
function sparkle() {
var c;
if (x!=ox || y!=oy) {
ox=x;
oy=y;
for (c=0; c<sparkles; c++) if (!starv[c]) {
star[c].style.left=(starx[c]=x)+"px";
star[c].style.top=(stary[c]=y)+"px";
star[c].style.clip="rect(0px, 5px, 5px, 0px)";
star[c].style.visibility="visible";
starv[c]=50;
break;
}
}
for (c=0; c<sparkles; c++) {
if (starv[c]) update_star(c);
if (tinyv[c]) update_tiny(c);
}
setTimeout("sparkle()", 40);
}
function update_star(i) {
if (--starv[i]==25) star[i].style.clip="rect(1px, 4px, 4px, 1px)";
if (starv[i]) {
stary[i]+=1+Math.random()*3;
if (stary[i]<shigh+sdown) {
star[i].style.top=stary[i]+"px";
starx[i]+=(i%5-2)/5;
star[i].style.left=starx[i]+"px";
}
else {
star[i].style.visibility="hidden";
starv[i]=0;
return;
}
}
else {
tinyv[i]=50;
tiny[i].style.top=(tinyy[i]=stary[i])+"px";
tiny[i].style.left=(tinyx[i]=starx[i])+"px";
tiny[i].style.width="2px";
tiny[i].style.height="2px";
star[i].style.visibility="hidden";
tiny[i].style.visibility="visible"
}
}
function update_tiny(i) {
if (--tinyv[i]==25) {
tiny[i].style.width="1px";
tiny[i].style.height="1px";
}
if (tinyv[i]) {
tinyy[i]+=1+Math.random()*3;
if (tinyy[i]<shigh+sdown) {
tiny[i].style.top=tinyy[i]+"px";
tinyx[i]+=(i%5-2)/5;
tiny[i].style.left=tinyx[i]+"px";
}
else {
tiny[i].style.visibility="hidden";
tinyv[i]=0;
return;
}
}
else tiny[i].style.visibility="hidden";
}
document.onmousemove=mouse;
function mouse(e) {
set_scroll();
y=(e)?e.pageY:event.y+sdown;
x=(e)?e.pageX:event.x+sleft;
}
function set_scroll() {
if (typeof(self.pageYOffset)=="number") {
sdown=self.pageYOffset;
sleft=self.pageXOffset;
}
else if (document.body.scrollTop || document.body.scrollLeft) {
sdown=document.body.scrollTop;
sleft=document.body.scrollLeft;
}
else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
sleft=document.documentElement.scrollLeft;
sdown=document.documentElement.scrollTop;
}
else {
sdown=0;
sleft=0;
}
}
window.onresize=set_width;
function set_width() {
if (typeof(self.innerWidth)=="number") {
swide=self.innerWidth;
shigh=self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientWidth) {
swide=document.documentElement.clientWidth;
shigh=document.documentElement.clientHeight;
}
else if (document.body.clientWidth) {
swide=document.body.clientWidth;
shigh=document.body.clientHeight;
}
}
function createDiv(height, width) {
var div=document.createElement("div");
div.style.position="absolute";
div.style.height=height+"px";
div.style.width=width+"px";
div.style.overflow="hidden";
div.style.backgroundColor=colour;
return (div);
}
// ]]>
</script>
3. Membuat Kursor diikuti Bintang Kelap-Kelip
<script type="text/javascript">
imgpre = new Image();
imgpre.scr = "http://blogparts.spark-atv.com/img1/m_star01.gif";//Gambar bintang kelap-kelip
imgpre.scr = "http://blogparts.spark-atv.com/img1/m_star02.gif";//Gambar bintang kelap-kelip
imgpre.scr = "http://blogparts.spark-atv.com/img1/m_star03.gif";//Gambar bintang kelap-kelip
kira = new Array();
kira[0] = "http://blogparts.spark-atv.com/img1/m_star01.gif";
kira[1] = "http://blogparts.spark-atv.com/img1/m_star02.gif";
kira[2] = "http://blogparts.spark-atv.com/img1/m_star03.gif";
var kira_s = 2;
setTimeout("kirakira01()",0);
var userAgent = window.navigator.userAgent.toLowerCase();
var appVersion = window.navigator.appVersion.toLowerCase();
if(document.layers){document.captureEvents(Event.IMGMOVE);}
document.onmousemove=moveImg;
function moveImg(theEvent){
if (userAgent.indexOf("msie") > -1) {
CH01 = document.documentElement.scrollTop;
CH02 = document.body.scrollTop;
if(CH01 > CH02 ){
doc_W = event.clientX + document.documentElement.scrollLeft;
doc_H = event.clientY + document.documentElement.scrollTop;
}else{
doc_W = event.clientX + document.body.scrollLeft;
doc_H = event.clientY + document.body.scrollTop;
}
} else {
doc_W = theEvent.pageX;
doc_H = theEvent.pageY;
}
}
kn=15;
kxp=new Array();
kyp=new Array();
dotk=new Array();
var kp=0;
var doc_W;
var doc_H;
timerID_k=0;
kira_n = kira_s;
function kirakira01() {
if(kxp[kn]!=doc_W||kyp[kn]!=doc_H){
kp=kp%kn+1;
kxp[kp] = doc_W;
kyp[kp] = doc_H;
document.getElementById('dotk'+kp).style.visibility='visible';
document.getElementById('dotk'+kp).style.top = kyp[kp]+"px";
document.getElementById('dotk'+kp).style.left = kxp[kp]+"px";
}else{
for(km=1;km<(kn+1);km++){
document.getElementById('dotk'+km).style.visibility='hidden';
}
}
timerID_k=setTimeout("kirakira01()",100);
}
for (km=1;km<(kn+1);km++){
document.write("
");
if (kira_n == 0) { kira_n = kira_s; } else { kira_n -= 1; }
}
</script>
Ket:
Gambar yang digunakan di
imgpre.src harus sama dengan di
kira [0/1/2]
4. Membuat Kursor Bintang yang Tergantung
<style type="text/css">
.dot{
position:fixed;
padding:0;
margin:0;
border:0 solid;
border-radius:6px;
box-shadow:0 0 0 #fff;
z-index:10;
}
#dot0{visibility: hidden;}
</style>
<script type="text/javascript">
//<![CDATA[
function elastic_trail() {
var f = 8; //Jumlah gambar kursor yang muncul
var g = "http://www.myspacediesel.com/materials/myspace_glitter_graphics/stars/glitter_star12.gif"; //Gambar bintang
var h = 0.01;
var k = 35; //jarak tiap gambar di kursor
var l = 10;
var m = 1;
var o = 0;
var p = 50;
var q = 10;
var r = 0.1;
var s = 0.1;
var t = 12; //ukuran gambar di kursor
var u = 0.75;
var v = 0;
var w = 0;
for (var i = f - 1; i > -1; --i) {
with(document) {
write('<div class="dot" id="dot' + i + '">\n');
write('<img src="' + g + '" height="' + t + '" width="' + t + '" alt="">\n');
write("</div>\n")
}
}
/*@cc_on@*/
/*@if(@_jscript_version>=5)if(navigator.appVersion.replace(/^.*MSIE
(\d+).*$/,'$1')<=6){var x=function(a,n){var
b='scroll'+a,d=document,c='compatMode';return
d[c]&&d[c]=='CSS1Compat'?d.documentElement[b]+n+'px':d.body[b]+n+'px'};document.write('<style
type="text/css">.dot {position: absolute;}body {background: url(foo)
fixed;}<\/style>')};@end@*/
var y = function () {
return (document.compatMode &&
document.compatMode.indexOf("CSS") != -1) ? document.documentElement:
document.body
};
var z = document.layers ? "": "px";
elastic_trail.prototype.dot = function (i) {
this.X = v;
this.Y = w;
this.dx = 0;
this.dy = 0;
if (document.layers) {
this.obj = document["dot" + i]
} else {
if (document.all) {
this.obj = document.all["dot" + i].style
} else {
if (document.getElementById) {
this.obj = document.getElementById("dot" + i).style
} else {
return
}
}
}
};
var A = new Array();
for (var i = 0; i < f; i++) {
A[i] = new this.dot(i)
}
for (i = 0; i < f; i++) {
A[i].obj.left = typeof x == "function" ? x("Left", A[i].X) : Math.round(A[i].X) + z;
A[i].obj.top = typeof x == "function" ? x("Top", A[i].Y) : A[i].Y + z
}
var B = this;
setInterval(function () {
B.animate()
},
20);
function MoveHandler(e) {
v = e.pageX - pageXOffset;
w = e.pageY - pageYOffset;
return true
}
function MoveHandlerIE() {
v = window.event.x;
w = window.event.y
}
if (document.addEventListener) {
document.addEventListener("mousemove", MoveHandler, false)
} else {
if (document.attachEvent) {
document.attachEvent("onmousemove", MoveHandlerIE)
} else {
if (document.captureEvents) {
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = MoveHandler
}
}
}
elastic_trail.prototype.vec = function (X, Y) {
this.X = X;
this.Y = Y
};
elastic_trail.prototype.springForce = function (i, j, a) {
var b = (A[i].X - A[j].X);
var c = (A[i].Y - A[j].Y);
var d = Math.sqrt(b * b + c * c);
if (d > k) {
var e = l * (d - k);
a.X += (b / d) * e;
a.Y += (c / d) * e
}
};
elastic_trail.prototype.animate = function () {
var a = 0;
A[0].X = v;
A[0].Y = w;
a = 1;
for (var i = a; i < f; i++) {
var b = new this.vec(0, 0);
if (i > 0) {
this.springForce(i - 1, i, b)
}
if (i < (f - 1)) {
this.springForce(i + 1, i, b)
}
var c = new this.vec( - A[i].dx * q, -A[i].dy * q);
var d = new this.vec((b.X + c.X) / m + o, (b.Y + c.Y) / m + p);
A[i].dx += (h * d.X);
A[i].dy += (h * d.Y);
if (Math.abs(A[i].dx) < r && Math.abs(A[i].dy)
< r && Math.abs(d.X) < s && Math.abs(d.Y) < s) {
A[i].dx = 0;
A[i].dy = 0
}
A[i].X += A[i].dx;
A[i].Y += A[i].dy;
var e, width;
if (window.innerWidth) {
e = window.innerHeight;
width = y().clientWidth && window.innerWidth -
y().clientWidth == 17 || window.innerWidth - y().clientWidth == 15 ?
y().clientWidth: window.innerWidth
} else {
e = y().clientHeight - Math.ceil(t / 2);
width = y().clientWidth
}
if (A[i].Y >= e - t - 1) {
if (A[i].dy > 0) {
A[i].dy = u * -A[i].dy
}
A[i].Y = e - t - 1
}
if (A[i].X >= width - t) {
if (A[i].dx > 0) {
A[i].dx = u * -A[i].dx
}
A[i].X = width - t - 1
}
if (A[i].X < 0) {
if (A[i].dx < 0) {
A[i].dx = u * -A[i].dx
}
A[i].X = 0
}
A[i].obj.left = typeof x == "function" ? x("Left", A[i].X) : Math.round(A[i].X) + z;
A[i].obj.top = typeof x == "function" ? x("Top", A[i].Y) : A[i].Y + z
}
}
}
new elastic_trail();
//]]>
</script>
5. Membuat Kursor Bergambar Animasi
<style type='text/css'>
HTML,BODY{cursor: url(url kursor), auto;} </style>
Ada banyak model kursor yang bisa kita gunakan, dapat kita jumpai di
http://www.totallyfreecursors.com/
Contoh Penggunaan
<style type='text/css'>
HTML,BODY{cursor: url(http://downloads.totallyfreecursors.com/public/CursorsLogo88-31.gif), auto;} </style>
Demo
Coba sendiri
Sumber
1,
2,
3,
4
Read More - Efek-Efek pada Kursor