Tuesday, December 9, 2014

Cara Buat Tulisan Melayang Mengikuti Pointer di Blog

cara buat/pasang efek teks mengikuti pointer di blog
Cara Buat / Pasang Tulisan Melayang Mengikuti Pointer di Blog – Pernahkah Anda masuk ke sebuah blog, lalu melihat ada tulisan yang melayang, bergerak mengikuti pointer Anda, serta akan mengelilingi pointer saat mouse tidak digerakkan? Jika iya, widget itulah yang akan saya bahas kali ini. Widget ini mungkin sudah banyak diketahui oleh para Blogger. Namun, jika Anda tertarik dengan widget ini, tak ada salahnya jika Anda memasang widget tulisan melayang mengikuti pointer di blog ini. Atau, jika mungkin Anda kurang puas dengan gambar disamping, silahkan dilihat demo tulisan melayang mengikuti pointer di blog berikut :
Oke, jika Anda tertarik, berikut ini langkah – langkah memasang widget / efek tulisan melayang mengikuti pointer di blog Anda. Cara memasangnya hampir sama dengan cara memasang efek hujan salju pada blog.
  1. Buka dan login ke Blogger.com, lalu masuk ke pilihan Template.
  2. Pilih Tambahkan Gadget
  3. Pada Window yang baru muncul, cari pilihan HTML / JavaScript
  4. Salin dan pastekan script berikut (kosongkan isian Judul) :

<style type='text/css'>
#outerCircleText {
font-style: italic;
font-weight: bold;
font-family: Trebuchet MS;
color: #ff840a;

position: absolute;top: 0;left: 0;z-index: 3000;cursor: default;}
#outerCircleText div {position: relative;}
#outerCircleText div div {position: absolute;top: 0;left: 0;text-align: center;}

</style>
<script type='text/javascript'>
//<![CDATA[

;(function(){
// =====Pengaturan Dimulai=====//
// Masukkan kalimat yang diinginkan (QUOTED STRING)
var msg = "Ganti dengan tulisan yang diinginkan";

// Set font's style size for calculating dimensions
// Set to number of desired pixels font size (decimal and negative numbers not allowed)
var size = 25;

// Set both to 1 for plain circle, set one of them to 2 for oval
// Other numbers & decimals can have interesting effects, keep these low (0 to 3)
var circleY = 0.75; var circleX = 2;

// The larger this divisor, the smaller the spaces between letters
// (decimals allowed, not negative numbers)
var letter_spacing = 5;

// The larger this multiplier, the bigger the circle/oval
// (decimals allowed, not negative numbers, some rounding is applied)
var diameter = 5;

// Rotation speed, set it negative if you want it to spin clockwise (decimals allowed)
var rotation = 0.2;

// This is not the rotation speed, its the reaction speed, keep low!
// Set this to 1 or a decimal less than one (decimals allowed, not negative numbers)
var speed = 0.3;

// =====Pengaturan Selesai=====//

if (!window.addEventListener && !window.attachEvent || !document.createElement) return;

msg = msg.split('');
var n = msg.length - 1, a = Math.round(size * diameter * 0.208333), currStep = 20,
ymouse = a * circleY + 20, xmouse = a * circleX + 20, y = [], x = [], Y = [], X = [],
o = document.createElement('div'), oi = document.createElement('div'),
b = document.compatMode && document.compatMode != "BackCompat"? document.documentElement :

document.body,

mouse = function(e){
e = e || window.event;
ymouse = !isNaN(e.pageY)? e.pageY : e.clientY; // y-position
xmouse = !isNaN(e.pageX)? e.pageX : e.clientX; // x-position
},

makecircle = function(){ // rotation/positioning
if(init.nopy){
o.style.top = (b || document.body).scrollTop + 'px';
o.style.left = (b || document.body).scrollLeft + 'px';
};
currStep -= rotation;
for (var d, i = n; i > -1; --i){ // makes the circle
d = document.getElementById('iemsg' + i).style;
d.top = Math.round(y[i] + a * Math.sin((currStep + i) / letter_spacing) * circleY - 15) +

'px';
d.left = Math.round(x[i] + a * Math.cos((currStep + i) / letter_spacing) * circleX) + 'px';
};
},

drag = function(){ // makes the resistance
y[0] = Y[0] += (ymouse - Y[0]) * speed;
x[0] = X[0] += (xmouse - 20 - X[0]) * speed;
for (var i = n; i > 0; --i){
y[i] = Y[i] += (y[i-1] - Y[i]) * speed;
x[i] = X[i] += (x[i-1] - X[i]) * speed;
};
makecircle();
},

init = function(){ // appends message divs, & sets initial values for positioning arrays
if(!isNaN(window.pageYOffset)){
ymouse += window.pageYOffset;
xmouse += window.pageXOffset;
} else init.nopy = true;
for (var d, i = n; i > -1; --i){
d = document.createElement('div'); d.id = 'iemsg' + i;
d.style.height = d.style.width = a + 'px';
d.appendChild(document.createTextNode(msg[i]));
oi.appendChild(d); y[i] = x[i] = Y[i] = X[i] = 0;
};
o.appendChild(oi); document.body.appendChild(o);
setInterval(drag, 25);
},

ascroll = function(){
ymouse += window.pageYOffset;
xmouse += window.pageXOffset;
window.removeEventListener('scroll', ascroll, false);
};

o.id = 'outerCircleText'; o.style.fontSize = size + 'px';

if (window.addEventListener){
window.addEventListener('load', init, false);
document.addEventListener('mouseover', mouse, false);
document.addEventListener('mousemove', mouse, false);
if (/Apple/.test(navigator.vendor))
window.addEventListener('scroll', ascroll, false);
}
else if (window.attachEvent){
window.attachEvent('onload', init);
document.attachEvent('onmousemove', mouse);
};

})();
//]]>
</script>

Catatan : Gantilah tulisan yang berwarna ungu dengan tulisan Anda. Nantinya, tulisan inilah yang  akan bergerak mengikuti pointer.

Keterangan Pengeditan :

  • Ganti tulisan yang berwarna merah dan ungu untuk mengubah style font (tebal, cetak miring, dsb)
  • Ganti tulisan Trebuchet MS dengan font yang Anda inginkan.
  • Ganti #ff840a dengan kode warna yang lain. #ff840a merupakan kode warna HTML untuk warna oranye. Jika Anda tidak mengetahui kode warna HTML, silahkan lihat : Hex Color Generator : Mengubah Warna Menjadi Kode HTML
  • Angka 25 menunjukkan ukuran font. Ganti dengan ukuran font yang Anda inginkan
  • var circleY = 0.75; var circleX = 2 : Menunjukkan bentuk tulisan saat mengitari pointer. Nilai maksimum yang dapat diisikan adalah 2. Jika ingin tulisannya berbentuk lingkaran, samakan kedua nilainya. Jika ingin tulisannya berbantuk oval, bedakan nilai salah satunya.
  • Angka  5 yang berwarna hijau menunjukkan jarak antar huruf. Semakin besar angka yang Anda masukkan, jarak antar huruf akan semakin kecil. Gantilah sesuai dengan keinginan Anda.
  • Angka5 yang berwarna ungu menunjukkan jari – jari lingkaran yang terbentuk saat teks mengelilingi pointer. Gantilah sesuai dengan keinginan Anda. Semakin besar angkanya, semakin besar ukuran lingkaran.
  • 0.2 merupakan angka yang menunjukkan kecepatan putaran teks. Semakin besar angka, maka semakin cepat putaran teks. Gantilah sesuai dengan keinginan Anda. Jika Anda memasukkan nilai negatif, maka tulisan akan mengitari pointer dengan tegak. (silahkan dicoba jika masih bingung)
  • 0.3 merupakan angka yang menunjukkan seberapa cepat respon teks mengikuti pointer saat pointer digerakkan. Gantilah sesuai dengan keinginan Anda.

  1. Terakhir, klik Simpan
Bagaimana? Mudah bukan? Disarankan agar Anda tidak memasukkan teks yang terlalu panjang (apalagi paragraph), karena dapat mengganggu kenyamanan pembaca. Selain efek ini, terdapat beberapa efek yang berkaitan dengan pointer blog, diantaranya:
Selamat mencoba, dan salam blogger! Tolong ikuti saya di Google +, dan terima kasih!
Disqus Comments