Jozz.. Buat Cursor Animasi ndul Gondal Gandul

He... masih blom puas dengan persediaan cursor yang sudah terposting? Cihu... Don't worry! Nih satu lagi cursor "antik-cantik" bisa kalian pakai di blogger ato yang lain. Ho.... kompatible lhoh buat semua browser. He... nggak percaya. Buih ... udah cakep, kompabilitasnya bagus, animasi, javascript nggak banyak n..... bisa gondal-gandul seperti "punya sampeyan". Ha .... ha .... ha ... clguk ... glegh .... glegh...

Jika image cursor nggak cocock atau sesuai selera, silahkan ganti imagenya dengan mengganti URL image yang ada di javascript (lihat javascript di bawah!). Beberapa variabel juga bisa diatur untuk memperoleh bentuk paling ideal. Ya,... selera orang khan macam-macam. Ada yang suka kurus kecil hitam, ada yang suka kurus tinggi rambut warna pink dan ada pula yang suka badan tinggi besar plus suka kasih pukulan! He ... he ... iya, nggak?!

Pengaturan dapat dilakukan pada ukuran cursor (image), jarak setiap image cursor, jumlah image cursor, efek pantul cursor serta beberapa yang lain. He ... lengkap banget, ya?!


Kode 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;}

Kode CSS :
<script type="text/javascript">
//<![CDATA[
function elastic_trail() {
var f = 8; /* atur jumlah cursor image */
var g = "http://gubhugreyot-icon.googlecode.com/svn/100.gif"; /* cursor image */
var h = 0.01;
var k = 35; /* jarak tiap cursor image */
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 cursor image */
var u = 0.75;
var v = 0; /* setting yang lain silahkan lakukan percobaan sendiri, he ... he .... */
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>

Cara Membuat :
  1. Login ke Blogger.
  2. Halaman Dasbor (Dasboard) » Klik "Rancangan (Design)".
  3. Klik "Edit HTML".
  4. Halaman Edit HTML :
    • Lakukan Backup template.
    • Cari kode ]]></b:skin>
    • Simpan kode CSS tepat di atas kode tersebut.
    • Cari kode <body>.
    • Simpan Javascript di bawah kode <body>.
  5. Klik "Simpan Template (Save Template)".
  6. Selesai!!!
  7. Ndul gondal-gandul mulur mungkret! Hayo punya siapa, tuh?

Catatan/Keterangan:

  1. Anda dapat menyimpan javascriptnya dalam bentuk link dengan upload di:
    • http://sites.google.com
    • http://code.google.com
    • http://yourjavascript.com
  2. Panduan untuk Backup tenmplate dan menyimpan kode css tau javascript dapat dibuka di Special Tutorials yang ada di menu sebelah kiri.
  3. Anda bisa mengatur z-index agar cursor dapat terlihat di keseluruhan bagian blog. Semakin besar z-index maka akan semakin kuat daya tembusnya. Biasanya beberapa widget menggunakan z-index. Agar cursor tidak tertutup maka z-index cursor harus dibuat lebih besar.

Sumber:

Dynamicdrive : Elastic Trail Script

Silahkan juga buka Tutorial lain yang sangat menarik dan patut di ikuti sampeyan semua. Akses melalui link di bawah ini :

Posting » Ngahad Pahing, Maret, 04, 2012

» Happy Blogging - gubhugreyot «

Comments