链接变色特效

把下面代码放入<head></head>中

  1. <SCRIPT language=javascript>
  2. var rate = 20;
  3. var obj;
  4. var act = 0;
  5. var elmH = 0;
  6. var elmS = 128;
  7. var elmV = 255;
  8. var clrOrg;
  9. var TimerID;
  10. if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt
  11. (navigator.appVersion) >= 4) {
  12. Browser = true;
  13. } else {
  14. Browser = false;
  15. }
  16. if (Browser) {
  17. document.onmouseover = doRainbowAnchor;
  18. document.onmouseout = stopRainbowAnchor;
  19. }
  20. function doRainbow()
  21. {
  22. if (Browser && act != 1) {
  23. act = 1;
  24. obj = event.srcElement;
  25. clrOrg = obj.style.color;
  26. TimerID = setInterval("ChangeColor()",100);
  27. }
  28. }
  29. function stopRainbow()
  30. {
  31. if (Browser && act != 0) {
  32. obj.style.color = clrOrg;
  33. clearInterval(TimerID);
  34. act = 0;
  35. }
  36. }
  37. function doRainbowAnchor()
  38. {
  39. if (Browser && act != 1) {
  40. obj = event.srcElement;
  41. while (obj.tagName != 'A' && obj.tagName != 'BODY') {
  42. objobj = obj.parentElement;
  43. if (obj.tagName == 'A' || obj.tagName == 'BODY')
  44. break;
  45. }
  46. if (obj.tagName == 'A' && obj.href != '') {
  47. act = 1;
  48. clrOrg = obj.style.color;
  49. TimerID = setInterval("ChangeColor()",100);
  50. }
  51. }
  52. }
  53. function stopRainbowAnchor()
  54. {
  55. if (Browser && act != 0) {
  56. if (obj.tagName == 'A') {
  57. obj.style.color = clrOrg;
  58. clearInterval(TimerID);
  59. act = 0;
  60. }
  61. }
  62. }
  63. function ChangeColor()
  64. {
  65. obj.style.color = makeColor();
  66. }
  67. function makeColor()
  68. {
  69. if (elmS == 0) {
  70. elmR = elmVelmG = elmVelmB = elmV;
  71. }
  72. else {
  73. t1 = elmV;
  74. t2 = (255 - elmS) * elmV / 255;
  75. t3 = elmH % 60;
  76. t3 = (t1 - t2) * t3 / 60;
  77. if (elmH < 60) {
  78. elmR = t1elmB = t2elmG = t2 + t3;
  79. }
  80. else if (elmH < 120) {
  81. elmG = t1elmB = t2elmR = t1 - t3;
  82. }
  83. else if (elmH < 180) {
  84. elmG = t1elmR = t2elmB = t2 + t3;
  85. }
  86. else if (elmH < 240) {
  87. elmB = t1elmR = t2elmG = t1 - t3;
  88. }
  89. else if (elmH < 300) {
  90. elmB = t1elmG = t2elmR = t2 + t3;
  91. }
  92. else if (elmH < 360) {
  93. elmR = t1elmG = t2elmB = t1 - t3;
  94. }
  95. else {
  96. elmR = 0elmG = 0elmB = 0;
  97. }
  98. }
  99. elmR = Math.floor(elmR);
  100. elmG = Math.floor(elmG);
  101. elmB = Math.floor(elmB);
  102. clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString
  103. (16);
  104. elmHelmH = elmH + rate;
  105. if (elmH >= 360)
  106. elmH = 0;
  107. return clrRGB;
  108. }
  109. </SCRIPT>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值