home *** CD-ROM | disk | FTP | other *** search
/ Chip Hitware 7 A / CHIP_HITWARE_7A.iso / internet / Webmaster / _SETUP.4 / Group3 / gradetxt.jav < prev    next >
Text File  |  1999-06-26  |  3KB  |  126 lines

  1. <!---BeginTitle--->Gradient Colored Text<!---BeginJAVHead---><script language="JavaScript">
  2. <!--
  3.  
  4. /*
  5. colourGradient
  6.  
  7. JavaScript to display text in a colour gradient.
  8.  
  9. This is achieved by displaying each character of the text in a different
  10. colour.
  11.  
  12. Copyright, Bipin Patwardhan (bsp204@yahoo.com)
  13.  
  14. Feel free to use this script as long as this copyright message is
  15. retained.
  16.  
  17. ----- ***** -----
  18.  
  19. Usage:
  20.  
  21. colourGradient(colour, flag, rStep, gStep, bStep, str)
  22. where,
  23.     colour -- rgb triplet, specified in hex
  24.     flag   -- indicating which component should be changed
  25.         r   - only red,         g  - only green, b  - only blue
  26.         rg  - red & green,      rb - red & blue, gb - green & blue
  27.         rgb - red, green & blue
  28.     rStep  -- step for red component
  29.     gStep  -- step for green component
  30.     bStep  -- step for blue component
  31.     str    -- string to display
  32. */
  33.  
  34. function decToHex(dec) {
  35.     hexChars = "0123456789ABCDEF"
  36.     if ( dec > 255 ) dec = dec % 255
  37.  
  38.     var i = dec % 16
  39.     var j = (dec - i) / 16
  40.     result = hexChars.charAt(j) + hexChars.charAt(i)
  41.  
  42.     return result
  43. }
  44.  
  45. /* // another one
  46. function decToHex(dec) {
  47.     hex = new Array("0", "1", "2", "3", "4", "5", "6", "7",
  48.         "8", "9", "A", "B", "C", "D", "E", "F")
  49.     tmp = hex[Math.floor(dec/16)] + hex[dec/16];
  50.     return tmp
  51. }
  52. */
  53.  
  54. function hexToDec(hex) {
  55.     num = 0
  56.     num1 = 0
  57.     if ( ( hex.charAt(0) >= '0' ) && ( hex.charAt(0) <= '9' ) )
  58.         num = parseInt(hex.charAt(0))
  59.     if ( hex.charAt(0) == 'a' ) num = 10
  60.     if ( hex.charAt(0) == 'b' ) num = 11
  61.     if ( hex.charAt(0) == 'c' ) num = 12
  62.     if ( hex.charAt(0) == 'd' ) num = 13
  63.     if ( hex.charAt(0) == 'e' ) num = 14
  64.     if ( hex.charAt(0) == 'f' ) num = 15
  65.  
  66.     if ( ( hex.charAt(1) >= '0' ) && ( hex.charAt(1) <= '9' ) )
  67.         num1 = parseInt(hex.charAt(1))
  68.     if ( hex.charAt(1) == 'a' ) num1 = 10
  69.     if ( hex.charAt(1) == 'b' ) num1 = 11
  70.     if ( hex.charAt(1) == 'c' ) num1 = 12
  71.     if ( hex.charAt(1) == 'd' ) num1 = 13
  72.     if ( hex.charAt(1) == 'e' ) num1 = 14
  73.     if ( hex.charAt(1) == 'f' ) num1 = 15
  74.  
  75.     num = num * 16 + num1
  76.  
  77.     return num
  78. }
  79.  
  80. function colourLookup(name) {
  81.     if ( name == "red" ) return "ff0000";
  82.     if ( name == "green" ) return "00ff00";
  83.     if ( name == "blue" ) return "0000ff";
  84.     return "ffffff"
  85. }
  86.  
  87. function showText(r, g, b, str) {
  88.     document.write("<font color=\"#" + r + g + b + "\">")
  89.     document.write(str)
  90.     document.write("</font>")
  91. }
  92.  
  93. function colourGradientPrimary(r, g, b, flag, rStep, gStep, bStep, str)
  94. {
  95.     r = hexToDec(r); g = hexToDec(g); b = hexToDec(b);
  96.  
  97.     for ( i=0; i < str.length; i++ ) {
  98.         showText(decToHex(r), decToHex(g), decToHex(b), str.charAt(i))
  99.         if ( flag == "r" ) r += rStep
  100.         if ( flag == "g" ) g += gStep
  101.         if ( flag == "b" ) b += bStep
  102.         if ( flag == "rg" ) { r += rStep; g += gStep; }
  103.         if ( flag == "rb" ) { r += rStep; g += gStep; }
  104.         if ( flag == "gb" ) { g += gStep; b += bStep; }
  105.         if ( flag == "rgb" ) { r += rStep; g += gStep; b += bStep; }
  106.     }
  107. }
  108.  
  109. function colourGradient(colour, flag, rStep, gStep, bStep, str) {
  110.     colourGradientPrimary(colour.substring(0, 2),
  111.         colour.substring(2, 4), colour.substring(4, 6),
  112.         flag, rStep, gStep, bStep, str)
  113. }
  114.  
  115. function colorGradient(colour, flag, rStep, gStep, bStep, str) {
  116.     colourGradient(colour, flag, rStep, gStep, bStep, str)
  117. }
  118.  
  119. // -->
  120. </script><!---BeginJAVBody---><script>
  121. <!--
  122. colourGradient("000000", "rb", 7, 1, 5,
  123.     "This is a very long string being used for testing purposes")
  124. // -->
  125. </script><!--EndJAVBody-->
  126.