Advertisement
1dners

1DCeffects - GT: Rainbow

Oct 7th, 2012
16,033
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script type="text/javascript">
  2. /*tweaked by 1dcursors.tumblr.com*/
  3. /*DO NOT STEAL OR REMOVE THIS TAGS*/
  4. // <![CDATA[
  5. var colour="random";
  6. var sparkles=50;
  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.     rats.style.zIndex="999";
  27.     document.body.appendChild(tiny[i]=rats);
  28.     starv[i]=0;
  29.     tinyv[i]=0;
  30.     var rats=createDiv(5, 5);
  31.     rats.style.backgroundColor="transparent";
  32.     rats.style.visibility="hidden";
  33.     rats.style.zIndex="999";
  34.     var rlef=createDiv(1, 5);
  35.     var rdow=createDiv(5, 1);
  36.     rats.appendChild(rlef);
  37.     rats.appendChild(rdow);
  38.     rlef.style.top="2px";
  39.     rlef.style.left="0px";
  40.     rdow.style.top="0px";
  41.     rdow.style.left="2px";
  42.     document.body.appendChild(star[i]=rats);
  43.   }
  44.   set_width();
  45.   sparkle();
  46. }}
  47.  
  48. function sparkle() {
  49.   var c;
  50.   if (x!=ox || y!=oy) {
  51.     ox=x;
  52.     oy=y;
  53.     for (c=0; c<sparkles; c++) if (!starv[c]) {
  54.       star[c].style.left=(starx[c]=x)+"px";
  55.       star[c].style.top=(stary[c]=y)+"px";
  56.       star[c].style.clip="rect(0px, 5px, 5px, 0px)";
  57.       star[c].childNodes[0].style.backgroundColor=star[c].childNodes[1].style.backgroundColor=(colour=="random")?newColour():colour;
  58.       star[c].style.visibility="visible";
  59.       starv[c]=50;
  60.       break;
  61.     }
  62.   }
  63.   for (c=0; c<sparkles; c++) {
  64.     if (starv[c]) update_star(c);
  65.     if (tinyv[c]) update_tiny(c);
  66.   }
  67.   setTimeout("sparkle()", 40);
  68. }
  69.  
  70. function update_star(i) {
  71.   if (--starv[i]==25) star[i].style.clip="rect(1px, 4px, 4px, 1px)";
  72.   if (starv[i]) {
  73.     stary[i]+=1+Math.random()*3;
  74.     starx[i]+=(i%5-2)/5;
  75.     if (stary[i]<shigh+sdown) {
  76.       star[i].style.top=stary[i]+"px";
  77.       star[i].style.left=starx[i]+"px";
  78.     }
  79.     else {
  80.       star[i].style.visibility="hidden";
  81.       starv[i]=0;
  82.       return;
  83.     }
  84.   }
  85.   else {
  86.     tinyv[i]=50;
  87.     tiny[i].style.top=(tinyy[i]=stary[i])+"px";
  88.     tiny[i].style.left=(tinyx[i]=starx[i])+"px";
  89.     tiny[i].style.width="2px";
  90.     tiny[i].style.height="2px";
  91.     tiny[i].style.backgroundColor=star[i].childNodes[0].style.backgroundColor;
  92.     star[i].style.visibility="hidden";
  93.     tiny[i].style.visibility="visible"
  94.   }
  95. }
  96.  
  97. function update_tiny(i) {
  98.   if (--tinyv[i]==25) {
  99.     tiny[i].style.width="1px";
  100.     tiny[i].style.height="1px";
  101.   }
  102.   if (tinyv[i]) {
  103.     tinyy[i]+=1+Math.random()*3;
  104.     tinyx[i]+=(i%5-2)/5;
  105.     if (tinyy[i]<shigh+sdown) {
  106.       tiny[i].style.top=tinyy[i]+"px";
  107.       tiny[i].style.left=tinyx[i]+"px";
  108.     }
  109.     else {
  110.       tiny[i].style.visibility="hidden";
  111.       tinyv[i]=0;
  112.       return;
  113.     }
  114.   }
  115.   else tiny[i].style.visibility="hidden";
  116. }
  117.  
  118. document.onmousemove=mouse;
  119. function mouse(e) {
  120.   if (e) {
  121.     y=e.pageY;
  122.     x=e.pageX;
  123.   }
  124.   else {
  125.     set_scroll();
  126.     y=event.y+sdown;
  127.     x=event.x+sleft;
  128.   }
  129. }
  130.  
  131. window.onscroll=set_scroll;
  132. function set_scroll() {
  133.   if (typeof(self.pageYOffset)=='number') {
  134.     sdown=self.pageYOffset;
  135.     sleft=self.pageXOffset;
  136.   }
  137.   else if (document.body && (document.body.scrollTop || document.body.scrollLeft)) {
  138.     sdown=document.body.scrollTop;
  139.     sleft=document.body.scrollLeft;
  140.   }
  141.   else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
  142.     sleft=document.documentElement.scrollLeft;
  143.     sdown=document.documentElement.scrollTop;
  144.   }
  145.   else {
  146.     sdown=0;
  147.     sleft=0;
  148.   }
  149. }
  150.  
  151. window.onresize=set_width;
  152. function set_width() {
  153.   var sw_min=999999;
  154.   var sh_min=999999;
  155.   if (document.documentElement && document.documentElement.clientWidth) {
  156.     if (document.documentElement.clientWidth>0) sw_min=document.documentElement.clientWidth;
  157.     if (document.documentElement.clientHeight>0) sh_min=document.documentElement.clientHeight;
  158.   }
  159.   if (typeof(self.innerWidth)=='number' && self.innerWidth) {
  160.     if (self.innerWidth>0 && self.innerWidth<sw_min) sw_min=self.innerWidth;
  161.     if (self.innerHeight>0 && self.innerHeight<sh_min) sh_min=self.innerHeight;
  162.   }
  163.   if (document.body.clientWidth) {
  164.     if (document.body.clientWidth>0 && document.body.clientWidth<sw_min) sw_min=document.body.clientWidth;
  165.     if (document.body.clientHeight>0 && document.body.clientHeight<sh_min) sh_min=document.body.clientHeight;
  166.   }
  167.   if (sw_min==999999 || sh_min==999999) {
  168.     sw_min=800;
  169.     sh_min=600;
  170.   }
  171.   swide=sw_min;
  172.   shigh=sh_min;
  173. }
  174.  
  175. function createDiv(height, width) {
  176.   var div=document.createElement("div");
  177.   div.style.position="absolute";
  178.   div.style.height=height+"px";
  179.   div.style.width=width+"px";
  180.   div.style.overflow="hidden";
  181.   return (div);
  182. }
  183.  
  184. function newColour() {
  185.   var c=new Array();
  186.   c[0]=255;
  187.   c[1]=Math.floor(Math.random()*256);
  188.   c[2]=Math.floor(Math.random()*(256-c[1]/2));
  189.   c.sort(function(){return (0.5 - Math.random());});
  190.   return ("rgb("+c[0]+", "+c[1]+", "+c[2]+")");
  191. }
  192. // ]]>
  193. </script>
  194.  
  195. <script type="text/javascript">
  196. //form tags to omit in NS6+:
  197. var omitformtags=["input", "textarea", "select"]
  198.  
  199. omitformtags=omitformtags.join("|")
  200.  
  201. function disableselect(e){
  202. if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
  203. return false
  204. }
  205.  
  206. function reEnable(){
  207. return true
  208. }
  209.  
  210. if (typeof document.onselectstart!="undefined")
  211. document.onselectstart=new Function ("return false")
  212. else{
  213. document.onmousedown=disableselect
  214. document.onmouseup=reEnable
  215. }
  216.  
  217. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement