HOME
F. A. Q.
MOUSE EFFECTS
DIGITAL CLOCK
ANALOG CLOCK
TINKERBELL
UNDERWATER
MOVING EYES
CLICKSPLOSION
NEW
SMOKEY JOE
NEW
MOUNTAINS
TEXT EFFECTS
RAINBOW
WOBBLE
FLIRT
BUBBLES
MATRIX
WIPE
MULTI-WIPE
PHONE-IN
AIRBORNE
RIGHT WRITE
SHUFFLE
NEWS-TICKER
VIRUS ATTACK
PAGE SCRAMBLE
NEW
AIRPORT
GRAPHIC EFFECTS
THE 1970s
LET IT SNOW!
SNOWFALL
FIREWORKS
COMET
STAR WARP
BLOCK WORM
BLOCK RAIN
BLOB SPACE
BLOB VORTEX
BLOBS IN A JAR
BUBBLE BATH
RAINY DAY
SEAWEED
TINKERBELL MOUSE EFFECT
This script has been tested on and shown to work with the following browsers:
Internet Explorer version 6 and above
Google Chrome version 1 and above
Mozilla Firefox version 2 and above
Apple Safari version 5 and above
Opera version 7 and above (including Opera mobile)
Android Browser version 2 and above
23-Aug-2012
: Change to ensure sparkles are always on-top.
17-May-2012
: Minor performance improvements.
15-Nov-2011
: Updated to include 'random' colours.
22-Sep-2005
: First release.
STEP 1:
Copy and paste the code below so that it sits between the <head> and </head> tags at the top of your web-page:
<script type="text/javascript"> // <![CDATA[ var colour="random"; // in addition to "random" can be set to any valid colour eg "#f0f" or "red" var sparkles=50; /**************************** * Tinkerbell Magic Sparkle * *(c)2005-13 mf2fm web-design* * http://www.mf2fm.com/rv * * DON'T EDIT BELOW THIS BOX * ****************************/ 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"; rats.style.zIndex="999"; 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"; rats.style.zIndex="999"; 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 (Math.abs(x-ox)>1 || Math.abs(y-oy)>1) { 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+1)+"px"; star[c].style.clip="rect(0px, 5px, 5px, 0px)"; star[c].childNodes[0].style.backgroundColor=star[c].childNodes[1].style.backgroundColor=(colour=="random")?newColour():colour; 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; starx[i]+=(i%5-2)/5; if (stary[i]<shigh+sdown) { star[i].style.top=stary[i]+"px"; 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"; tiny[i].style.backgroundColor=star[i].childNodes[0].style.backgroundColor; 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; tinyx[i]+=(i%5-2)/5; if (tinyy[i]<shigh+sdown) { tiny[i].style.top=tinyy[i]+"px"; 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) { if (e) { y=e.pageY; x=e.pageX; } else { set_scroll(); y=event.y+sdown; x=event.x+sleft; } } window.onscroll=set_scroll; function set_scroll() { if (typeof(self.pageYOffset)=='number') { sdown=self.pageYOffset; sleft=self.pageXOffset; } else if (document.body && (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() { var sw_min=999999; var sh_min=999999; if (document.documentElement && document.documentElement.clientWidth) { if (document.documentElement.clientWidth>0) sw_min=document.documentElement.clientWidth; if (document.documentElement.clientHeight>0) sh_min=document.documentElement.clientHeight; } if (typeof(self.innerWidth)=='number' && self.innerWidth) { if (self.innerWidth>0 && self.innerWidth<sw_min) sw_min=self.innerWidth; if (self.innerHeight>0 && self.innerHeight<sh_min) sh_min=self.innerHeight; } if (document.body.clientWidth) { if (document.body.clientWidth>0 && document.body.clientWidth<sw_min) sw_min=document.body.clientWidth; if (document.body.clientHeight>0 && document.body.clientHeight<sh_min) sh_min=document.body.clientHeight; } if (sw_min==999999 || sh_min==999999) { sw_min=800; sh_min=600; } swide=sw_min; shigh=sh_min; } 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"; return (div); } function newColour() { var c=new Array(); c[0]=255; c[1]=Math.floor(Math.random()*256); c[2]=Math.floor(Math.random()*(256-c[1]/2)); c.sort(function(){return (0.5 - Math.random());}); return ("rgb("+c[0]+", "+c[1]+", "+c[2]+")"); } // ]]> </script>
CLICK HERE
to select the above script ready to paste it into your clipboard
STEP 2:
If you want to change the colour of the fairy dust, change the colour at the start of the script you just copied to the setting you require.
THAT'S IT
When your page loads and you move your mouse, magic sparkles (or fairy dust, whichever you prefer) appear, just like Tinkerbell in Peter Pan!