Advertisement
danateruel

Glitter Effect Cursor

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