Rabu, 29 Desember 2010

Cara membuat teks bergerak melingkar mengikuti gerakan mouse (Circling text trail)

Cara membuat teks bergerak melingkar mengikuti gerakan mouse atau dalam istilah bahasa Inggris dikenal dengan nama "Circling text trail". Teks tersebut akan bergerak melingkar mengelilingi pointer mouse disaat mouse sedang idle. Teks yang akan ditampilkan dapat diatur sesuai keinginan.

Yang perlu dilakukan adalah dengan memasukkan script di bawah ini ke dalam gadget html/javascript.





<style type="text/css">
/* Circle Text Styles */
/*http://www.dynamicdrive.com/dynamicindex13/circletext.htm */
#outerCircleText {
/* Optional - DO NOT SET FONT-SIZE HERE, SET IT IN THE SCRIPT */
font-style: italic;
font-weight: bold;
font-family: 'comic sans ms', verdana, arial;
color: #000;
/* End Optional */

/* Start Required - Do Not Edit */
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;}
/* End Required */
/* End Circle Text Styles */
</style>
<script type="text/javascript">

/* Circling text trail- Tim Tilton
   Website: http://www.tempermedia.com/
   Visit: http://www.dynamicdrive.com/ for Original Source and tons of scripts
   Modified Here for more flexibility and modern browser support
   Modifications as first seen in http://www.dynamicdrive.com/forums/
   username:jscheuer1 - This notice must remain for legal use
   */

;(function(){

// Your message here (QUOTED STRING)
var msg = "Welcome to my blog!";

/* THE REST OF THE EDITABLE VALUES BELOW ARE ALL UNQUOTED NUMBERS */

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

// 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 = 10;

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

// 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;

////////////////////// Stop Editing //////////////////////

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>




Keterangan:
Ganti teks Welcome to my blog! dengan teks yg anda inginkan


Copy script di atas ke gadget html/javascript.
Sumber script di atas saya ambil dari situs dinamic drive yang membahas tentang circling text trail

Hasilnya bisa dilihat di blog ini circling text

Artikel Terkait:



29 komentar blog:

Media update mengatakan...

informasinya menarik tu cursor antik tapi info saya simpan dulu...oke semangat gan

DUNIA MAYAKU mengatakan...

menarik tapi ga bisa ngeklik link

™W|e|L|c|O|m|E t|o-Blog™ mengatakan...

ka ganti warna gimana?

Komputer SEO mengatakan...

@Media update
Thanks kunjungannya
@DUNIA MAYAKU
Agak susah ngeklik link nya...
@WeLcOmE to-Blog™
Coba di baris ke 9 diganti kode warna #000;
color: #000; menjadi color: yellow; atau warna lain color: red;
/* End Optional */

Muhammad Guntur Saputra mengatakan...

gan .. kalo warna nya jadi warna warni bisa gak ?

Rhakieb mengatakan...

Terimah Kasih banyak.
Saya terbantu sekali !
Soalnya saya baru buat. hehe

pophy mengatakan...

hanya berlaku untuk blogspot ya? pasang di wordpress gak bisa...

Mohammad Nindra Zaka mengatakan...

Nice inpo gan,Oh ya,Warna teks.na
bsa dganti g' ya???

info,tips and trick mengatakan...

thanks gan

TRICK-Top mengatakan...

ijin copast bosssssssssssssss......

dara jeliitha mengatakan...

info nya sangat membantu.. gomawo :D

pakDE-Nanto mengatakan...

Wah nampaknya bagus juga ya....
Tapi sebagian dari kita hal ini malah mengganggu....
Btw ini info yang bermanfaat...

Rudy Hartono mengatakan...

thanks atas infonya, salam kenal

rashel mengatakan...

itu semuanya ya yang di copy ???

Tapanuli Facebook mengatakan...

Oke...trims. Mantap.

nozach mengatakan...

,,Like This,,

Zona mengatakan...

perlu dipraktekan nih, mantabs...

Artikel mengatakan...

bisnis online memang menjajanjikan...

Area Terbaru mengatakan...

makasih langsung ane praktekin...

Blackpearl mengatakan...

kalau yang ngikutin mouse bukan teks tp gambar gimana ?

alsidik mengatakan...

than'k gan atas info nya ...

Alex Yoshinaga mengatakan...

THNK YA ATAS INFO,SUDAH Q PRAKTEKAN BERHASIL,HEHEE

Alex Yoshinaga mengatakan...

Thank bnget ya atas info nya ,sdh q praktekan di blog q ternyata berhasil..

Rudy Hartono mengatakan...

postingan yang bermanfaat

Arief mezda mengatakan...

muakacih mas broooooo....

SD N CANDIREJO 01 mengatakan...

Terima kasih, ilmu yg bermanfaat

Wahyu TG mengatakan...

mantep browwwwwww,,,
kapan" mampir ya klo mau download applikasi android..
http://wahyutg.blogspot.com/

Ayu Wulan mengatakan...

thanks infonya
follow blog ku yah
aku follow back
dan jangan lupa tinggalkan komentar ^^

FitraLike Anime mengatakan...

Makasih ka tipps nya bermanfaat..
kunjungi blog saya ya
http://fitralikeanime.blogspot.com/
GUMAWO.. >,<