Advertisement
shintobean

Sparkle Cursor

Mar 2nd, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. <script type="text/javascript">
  2. // <![CDATA[
  3. var colour="#7245E6";
  4. var sparkles=120;
  5.  
  6. /****************************
  7. * Tinkerbell Magic Sparkle *
  8. * (c) 2005 mf2fm web-design *
  9. * http://www.mf2fm.com/rv *
  10. * DON'T EDIT BELOW THIS BOX *
  11. ****************************/
  12. var x=ox=400;
  13. var y=oy=300;
  14. var swide=800;
  15. var shigh=600;
  16. var sleft=sdown=0;
  17. var tiny=new Array();
  18. var star=new Array();
  19. var starv=new Array();
  20. var starx=new Array();
  21. var stary=new Array();
  22. var tinyx=new Array();
  23. var tinyy=new Array();
  24. var tinyv=new Array();
  25.  
  26. window.onload=function() { if (document.getElementById) {
  27. var i, rats, rlef, rdow;
  28. for (var i=0; i<sparkles; i++) {
  29. var rats=createDiv(3, 3);
  30. rats.style.visibility="hidden";
  31. document.body.appendChild(tiny[i]=rats);
  32. starv[i]=0;
  33. tinyv[i]=0;
  34. var rats=createDiv(5, 5);
  35. rats.style.backgroundColor="transparent";
  36. rats.style.visibility="hidden";
  37. var rlef=createDiv(1, 5);
  38. var rdow=createDiv(5, 1);
  39. rats.appendChild(rlef);
  40. rats.appendChild(rdow);
  41. rlef.style.top="2px";
  42. rlef.style.left="0px";
  43. rdow.style.top="0px";
  44. rdow.style.left="2px";
  45. document.body.appendChild(star[i]=rats);
  46. }
  47. set_width();
  48. sparkle();
  49. }}
  50.  
  51. function sparkle() {
  52. var c;
  53. if (x!=ox || y!=oy) {
  54. ox=x;
  55. oy=y;
  56. for (c=0; c<sparkles; c++) if (!starv[c]) {
  57. star[c].style.left=(starx[c]=x)+"px";
  58. star[c].style.top=(stary[c]=y)+"px";
  59. star[c].style.clip="rect(0px, 5px, 5px, 0px)";
  60. star[c].style.visibility="visible";
  61. starv[c]=50;
  62. break;
  63. }
  64. }
  65. for (c=0; c<sparkles; c++) {
  66. if (starv[c]) update_star(c);
  67. if (tinyv[c]) update_tiny(c);
  68. }
  69. setTimeout("sparkle()", 40);
  70. }
  71.  
  72. function update_star(i) {
  73. if (--starv[i]==25) star[i].style.clip="rect(1px, 4px, 4px, 1px)";
  74. if (starv[i]) {
  75. stary[i]+=1+Math.random()*3;
  76. if (stary[i]<shigh+sdown) {
  77. star[i].style.top=stary[i]+"px";
  78. starx[i]+=(i%5-2)/5;
  79. star[i].style.left=starx[i]+"px";
  80. }
  81. else {
  82. star[i].style.visibility="hidden";
  83. starv[i]=0;
  84. return;
  85. }
  86. }
  87. else {
  88. tinyv[i]=50;
  89. tiny[i].style.top=(tinyy[i]=stary[i])+"px";
  90. tiny[i].style.left=(tinyx[i]=starx[i])+"px";
  91. tiny[i].style.width="2px";
  92. tiny[i].style.height="2px";
  93. star[i].style.visibility="hidden";
  94. tiny[i].style.visibility="visible"
  95. }
  96. }
  97.  
  98. function update_tiny(i) {
  99. if (--tinyv[i]==25) {
  100. tiny[i].style.width="1px";
  101. tiny[i].style.height="1px";
  102. }
  103. if (tinyv[i]) {
  104. tinyy[i]+=1+Math.random()*3;
  105. if (tinyy[i]<shigh+sdown) {
  106. tiny[i].style.top=tinyy[i]+"px";
  107. tinyx[i]+=(i%5-2)/5;
  108. tiny[i].style.left=tinyx[i]+"px";
  109. }
  110. else {
  111. tiny[i].style.visibility="hidden";
  112. tinyv[i]=0;
  113. return;
  114. }
  115. }
  116. else tiny[i].style.visibility="hidden";
  117. }
  118.  
  119. document.onmousemove=mouse;
  120. function mouse(e) {
  121. set_scroll();
  122. y=(e)?e.pageY:event.y+sdown;
  123. x=(e)?e.pageX:event.x+sleft;
  124. }
  125.  
  126. function set_scroll() {
  127. if (typeof(self.pageYOffset)=="number") {
  128. sdown=self.pageYOffset;
  129. sleft=self.pageXOffset;
  130. }
  131. else if (document.body.scrollTop || document.body.scrollLeft) {
  132. sdown=document.body.scrollTop;
  133. sleft=document.body.scrollLeft;
  134. }
  135. else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
  136. sleft=document.documentElement.scrollLeft;
  137. sdown=document.documentElement.scrollTop;
  138. }
  139. else {
  140. sdown=0;
  141. sleft=0;
  142. }
  143. }
  144.  
  145. window.onresize=set_width;
  146. function set_width() {
  147. if (typeof(self.innerWidth)=="number") {
  148. swide=self.innerWidth;
  149. shigh=self.innerHeight;
  150. }
  151. else if (document.documentElement && document.documentElement.clientWidth) {
  152. swide=document.documentElement.clientWidth;
  153. shigh=document.documentElement.clientHeight;
  154. }
  155. else if (document.body.clientWidth) {
  156. swide=document.body.clientWidth;
  157. shigh=document.body.clientHeight;
  158. }
  159. }
  160.  
  161. function createDiv(height, width) {
  162. var div=document.createElement("div");
  163. div.style.position="absolute";
  164. div.style.height=height+"px";
  165. div.style.width=width+"px";
  166. div.style.overflow="hidden";
  167. div.style.backgroundColor=colour;
  168. return (div);
  169. }
  170. // ]]>
  171. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement