Jonathan’s Page:

©1997-1998 Jonathan Ah Kit
(ahkitj@usa.net)

Actually, the code required for this to work takes around 2 kilobytes, so probably isn’t small, but can create some interesting effects if your page (ideally) isn’t already 20kb big. Hopefully JavaScript is enabled in the user’s browser, or you’ll just have a blank space.

For best results, just make sure any of the colours used by this JavaScript code aren’t used by the background it’s appearing on top of. And as with all JavaScript, copy it exactly using the cut and paste commands.

Thanks to the author, and sorry I can’t track you down, though I can tell you I probably found this somewhere in GeoCities or something some time back.

Finally, direct any questions to the author, details in source code below (and while you’re at it, read the riveting legal notice as well).

Step One

Insert the following text only once anywhere in your page before where you want the first of the rainbow text.

<script language="JavaScript">
<!-- Hide the script from old browsers --

// Michael P. Scholtis (mpscho@planetx.bloomu.edu)
// All rights reserved.  January 15, 1996
// You may use this JavaScript example as you see fit, as long as the
// information within this comment above is included in your script.
 

function MakeArray(n){
   this.length=n;
   for(var i=1; i<=n; i++) this[i]=i-1;
   return this
}

hex=new MakeArray(16);
hex[11]="A"; hex[12]="B"; hex[13]="C"; hex[14]="D"; hex[15]="E"; hex[16]="F";

function ToHex(x){              // Changes a int to hex (in the range 0 to 255)
   var high=x/16;
   var s=high+"";               //1
   s=s.substring(0,2);          //2 the combination of these are the same as the trunc function
   high=parseInt(s,10);         //3
   var left=hex[high+1];        // left part of the hex-value
   var low=x-high*16;           // calculate the rest of the values
   s=low+"";                    //1
   s=s.substring(0,2);          //2 the combination of these are the same as the trunc function
   low=parseInt(s,10);          //3
   var right=hex[low+1];        // right part of the hex-value
   var string=left+""+right;    // add the high and low together
   return string;
}

function rainbow(text){
   text=text.substring(3,text.length-4);        // gets rid of the HTML-comment-tags
   color_d1=255;                                // any value in 'begin' 0 to 255
   mul=color_d1/text.length;
   for(i=0;i<text.length;i++){
      color_d1=255*Math.sin(i/(text.length/3)); // some other things you can try>> "=255-mul*i" to fade out, "=mul*i" to fade in, or try "255*Math.sin(i/(text.length/3))"
      color_h1=ToHex(color_d1);
      color_d2=mul*i;
      color_h2=ToHex(color_d2);
      document.write("<FONT COLOR='#FF"+color_h1+color_h2+"'>"+text.substring(i,i+1)+'</FONT>');
   }
}

// --End Hiding Here -->
</script>
Step Two
  1. Copy the following code, replacing the red-coloured text with whatever you want. The green text is optional.
  2. If you wish, you can put this on your page more than once.
<font face="verdana,comic sans ms,arial,helvetica" size="+2"><strong>
<SCRIPT LANGUAGE="JavaScript">
<!--
   {rainbow("-->Welcome to this wonderfully boring website!<!__");} 
//-->
</SCRIPT>
</strong></font>
Step 3

Watch the effects!

1