利用递增的数字返回循环渐变的颜色的js函数

 其实很久前就想写一个这样的函数了。因为很多时候需要利用递增数字返回一个渐变颜色序列,今天终于完成了。函数如下:

 

使用gCL就可以利用递增的数字返回由红到绿到蓝的渐变颜色了。渐变效果如下,共15种颜色,循环渐变:

 

比如下面的应用,使用这个函数可以将超级链接的背景色进行渐变:

  1. <a id=a onmouseover='cancel=0;colorful()' onmouseout='cancel=1;' href="http://fine3x.com">主页</a>
  2. <Script language=JScript>
  3. <!--
  4. function gCL(i){
  5.     var f=parseInt((i%15)/5);
  6.     i=i%15%5;
  7.     switch(f){
  8.     case 0:return "#"+cS2(255-i*51)+cS2(i*51)+"00";
  9.     case 1:return "#00"+cS2(255-i*51)+cS2(i*51);
  10.     case 2:return "#"+cS2(i*51)+"00"+cS2(255-i*51);
  11.     }
  12. }
  13. function cS2(i) {
  14.     var s=i.toString(16);
  15.     return ("00"+s).substr(s.length);
  16. }
  17. var a=document.getElementById('a')
  18. var sd=0;
  19. var cancel=0;
  20. function colorful() {
  21.     a.style.backgroundColor=gCL(sd++);
  22.     if(!cancel)setTimeout('colorful()',50);
  23. }
  24. -->
  25. </Script>

这个函数加以修改还可以产生更加细致的颜色变化,有兴趣的朋友可以试试。

 

  1. function gCL(i){
  2.     var f=parseInt((i%15)/5);
  3.     i=i%15%5;
  4.     switch(f){
  5.     case 0:return "#"+cS2(255-i*51)+cS2(i*51)+"00";
  6.     case 1:return "#00"+cS2(255-i*51)+cS2(i*51);
  7.     case 2:return "#"+cS2(i*51)+"00"+cS2(255-i*51);
  8.     }
  9. }
  10. function cS2(i) {
  11.     var s=i.toString(16);
  12.     return ("00"+s).substr(s.length);
  13. }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值