home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 April / CHIP_CD_2005-04.iso / software / netv / NVinst.exe / $INSTDIR / Help / Russian.chm / content / fade.js < prev    next >
Encoding:
Text File  |  2005-02-22  |  2.9 KB  |  114 lines

  1. /************* 
  2. **** <config> 
  3. **/ 
  4. startColor = "#1155dd"; // MouseOut link color 
  5. endColor = "#ffff00"; // MouseOver link color 
  6.  
  7. stepIn = 20; // delay when fading in 
  8. stepOut = 20; // delay when fading out 
  9.  
  10. /* 
  11. ** set to true or false; true will 
  12. ** cause all links to fade automatically 
  13. ***/ 
  14. autoFade = true; 
  15. /* 
  16. ** set to true or false; true will cause all CSS 
  17. ** classes with "fade" in them to fade onmouseover 
  18. ***/ 
  19. sloppyClass = true; 
  20. /** 
  21. **** </config> 
  22. **************/ 
  23. /************* 
  24. **** <install> 
  25. ** 
  26. ** 
  27. **** </install> 
  28. **************/ 
  29.  
  30. hexa = new makearray(16); 
  31. for(var i = 0; i < 10; i++) 
  32. hexa[i] = i; 
  33. hexa[10]="a"; hexa[11]="b"; hexa[12]="c"; 
  34. hexa[13]="d"; hexa[14]="e"; hexa[15]="f"; 
  35.  
  36. document.onmouseover = domouseover; 
  37. document.onmouseout = domouseout; 
  38.  
  39. startColor = dehexize(startColor.toLowerCase()); 
  40. endColor = dehexize(endColor.toLowerCase()); 
  41.  
  42. var fadeId = new Array(); 
  43.  
  44. function dehexize(Color){ 
  45. var colorArr = new makearray(3); 
  46. for (i=1; i<7; i++){ 
  47. for (j=0; j<16; j++){ 
  48. if (Color.charAt(i) == hexa[j]){ 
  49. if (i%2 !=0) 
  50. colorArr[Math.floor((i-1)/2)]=eval(j)*16; 
  51. else 
  52. colorArr[Math.floor((i-1)/2)]+=eval(j); 
  53. return colorArr; 
  54.  
  55. function domouseover() { 
  56. if(document.all){ 
  57. var srcElement = event.srcElement; 
  58. if ((srcElement.tagName == "A" && autoFade) || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) 
  59. fade(startColor,endColor,srcElement.uniqueID,stepIn); 
  60.  
  61. function domouseout() { 
  62. if (document.all){ 
  63. var srcElement = event.srcElement; 
  64. if ((srcElement.tagName == "A" && autoFade) || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) 
  65. fade(endColor,startColor,srcElement.uniqueID,stepOut); 
  66.  
  67. function makearray(n) { 
  68. this.length = n; 
  69. for(var i = 1; i <= n; i++) 
  70. this[i] = 0; 
  71. return this; 
  72.  
  73. function hex(i) { 
  74. if (i < 0) 
  75. return "00"; 
  76. else if (i > 255) 
  77. return "ff"; 
  78. else 
  79. return "" + hexa[Math.floor(i/16)] + hexa[i%16];} 
  80.  
  81. function setColor(r, g, b, element) { 
  82. var hr = hex(r); var hg = hex(g); var hb = hex(b); 
  83. element.style.color = "#"+hr+hg+hb; 
  84.  
  85. function fade(s,e, element,step){ 
  86. var sr = s[0]; var sg = s[1]; var sb = s[2]; 
  87. var er = e[0]; var eg = e[1]; var eb = e[2]; 
  88.  
  89. if (fadeId[0] != null && fade[0] != element){ 
  90. setColor(sr,sg,sb,eval(fadeId[0])); 
  91. var i = 1; 
  92. while(i < fadeId.length){ 
  93. clearTimeout(fadeId[i]); 
  94. i++; 
  95.  
  96. for(var i = 0; i <= step; i++) { 
  97. fadeId[i+1] = setTimeout("setColor(Math.floor(" +sr+ " *(( " +step+ " - " +i+ " )/ " +step+ " ) + " +er+ " * (" +i+ "/" + 
  98. step+ ")),Math.floor(" +sg+ " * (( " +step+ " - " +i+ " )/ " +step+ " ) + " +eg+ " * (" +i+ "/" +step+ 
  99. ")),Math.floor(" +sb+ " * ((" +step+ "-" +i+ ")/" +step+ ") + " +eb+ " * (" +i+ "/" +step+ ")),"+element+");",i*step); 
  100. fadeId[0] = element; 
  101. }