Wickedawesome27

My Sparkle Effect

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