Advertisement
Mizu-Sama

Efeito para cursor

Sep 10th, 2013
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1. <script type="text/javascript">
  2. // <![CDATA[
  3. var sparks=75; // how many sparks per clicksplosion
  4. var speed=33; // how fast - smaller is faster
  5. var bangs=5; // how many can be launched simultaneously (note that using too many can slow the script down)
  6. var colours=new Array('#03f', '#f03', '#0e0', '#93f', '#0cf', '#f93', '#f0c');
  7. // blue red green purple cyan orange pink
  8. /****************************
  9. * Clicksplosion Effect *
  10. * (c) 2012 mf2fm web-design *
  11. * http://www.mf2fm.com/rv *
  12. * DON'T EDIT BELOW THIS BOX *
  13. ****************************/
  14. var intensity=new Array();
  15. var Xpos=new Array();
  16. var Ypos=new Array();
  17. var dX=new Array();
  18. var dY=new Array();
  19. var stars=new Array();
  20. var decay=new Array();
  21. var timers=new Array();
  22. var swide=800;
  23. var shigh=600;
  24. var sleft=sdown=0;
  25. var count=0;
  26. function addLoadEvent(funky) {
  27. var oldonload=window.onload;
  28. if (typeof(oldonload)!='function') window.onload=funky;
  29. else window.onload=function() {
  30. if (oldonload) oldonload();
  31. funky();
  32. }
  33. }
  34. addLoadEvent(clicksplode);
  35. function clicksplode() { if (document.getElementById) {
  36. var i, j;
  37. window.onscroll=set_scroll;
  38. window.onresize=set_width;
  39. document.onclick=eksplode;
  40. set_width();
  41. set_scroll();
  42. for (i=0; i<bangs; i++) for (j=sparks*i; j<sparks+sparks*i; j++) {
  43. stars[j]=createDiv('*', 13);
  44. document.body.appendChild(stars[j]);
  45. }
  46. }}
  47. function createDiv(char, size) {
  48. var div, sty;
  49. div=document.createElement('div');
  50. sty=div.style;
  51. sty.font=size+'px monospace';
  52. sty.position='absolute';
  53. sty.backgroundColor='transparent';
  54. sty.visibility='hidden';
  55. sty.zIndex='101';
  56. div.appendChild(document.createTextNode(char));
  57. return (div);
  58. }
  59. function bang(N) {
  60. var i, Z, A=0;
  61. for (i=sparks*N; i<sparks*(N+1); i++) {
  62. if (decay[i]) {
  63. Z=stars[i].style;
  64. Xpos[i]+=dX[i];
  65. Ypos[i]+=(dY[i]+=1.25/intensity[N]);
  66. if (Xpos[i]>=swide || Xpos[i]<0 || Ypos[i]>=shigh+sdown || Ypos[i]<0) decay[i]=1;
  67. else {
  68. Z.left=Xpos[i]+'px';
  69. Z.top=Ypos[i]+'px';
  70. }
  71. if (decay[i]==15) Z.fontSize='7px';
  72. else if (decay[i]==7) Z.fontSize='2px';
  73. else if (decay[i]==1) Z.visibility='hidden';
  74. decay[i]--;
  75. }
  76. else A++;
  77. }
  78. if (A!=sparks) timers[N]=setTimeout('bang('+N+')', speed);
  79. }
  80. function eksplode(e) {
  81. var x, y, i, M, Z, N;
  82. set_scroll();
  83. y=(e)?e.pageY:event.y+sdown;
  84. x=(e)?e.pageX:event.x+sleft;
  85. N=++count%bangs;
  86. M=Math.floor(Math.random()*3*colours.length);
  87. intensity[N]=5+Math.random()*4;
  88. for (i=N*sparks; i<(N+1)*sparks; i++) {
  89. Xpos[i]=x;
  90. Ypos[i]=y-5;
  91. dY[i]=(Math.random()-0.5)*intensity[N];
  92. dX[i]=(Math.random()-0.5)*(intensity[N]-Math.abs(dY[i]))*1.25;
  93. decay[i]=16+Math.floor(Math.random()*16);
  94. Z=stars[i].style;
  95. if (M<colours.length) Z.color=colours[i%2?count%colours.length:M];
  96. else if (M<2*colours.length) Z.color=colours[count%colours.length];
  97. else Z.color=colours[i%colours.length];
  98. Z.fontSize='13px';
  99. Z.visibility='visible';
  100. }
  101. clearTimeout(timers[N]);
  102. bang(N);
  103. }
  104. function set_width() {
  105. var sw_min=999999;
  106. var sh_min=999999;
  107. if (document.documentElement && document.documentElement.clientWidth) {
  108. if (document.documentElement.clientWidth>0) sw_min=document.documentElement.clientWidth;
  109. if (document.documentElement.clientHeight>0) sh_min=document.documentElement.clientHeight;
  110. }
  111. if (typeof(self.innerWidth)=='number' && self.innerWidth) {
  112. if (self.innerWidth>0 && self.innerWidth<sw_min) sw_min=self.innerWidth;
  113. if (self.innerHeight>0 && self.innerHeight<sh_min) sh_min=self.innerHeight;
  114. }
  115. if (document.body.clientWidth) {
  116. if (document.body.clientWidth>0 && document.body.clientWidth<sw_min) sw_min=document.body.clientWidth;
  117. if (document.body.clientHeight>0 && document.body.clientHeight<sh_min) sh_min=document.body.clientHeight;
  118. }
  119. if (sw_min==999999 || sh_min==999999) {
  120. sw_min=800;
  121. sh_min=600;
  122. }
  123. swide=sw_min-7;
  124. shigh=sh_min-7;
  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 && (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. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement