<div id="divColor"></div>
<script type="text/javascript">
var arr=['#000000','#FFFFFF','#FF0000','#FFFF00','#00FF00','#00FFFF','#0000FF','#FF00FF','#808080','#C0C0C0','#800000','#808000','#008000','#008080','#000080','#800080'];
var objDiv=document.getElementById('divColor');
for(var i=0;i<arr.length;i++)
{
var newDiv=document.createElement('div');
newDiv.style.backgroundColor=arr[i];
newDiv.innerHTML=arr[i];
objDiv.appendChild(newDiv);
}
</script>

解决方案 »

  1.   

    可以用rgb(r,g,b) 新建一个颜色 r,g,b 分别为 0~255的任意一个值。关键是跨度为多少颜色区别比较明显。即可以考虑一个步进值,来测试一下;
      

  2.   


    <HTML>  
    <HEAD>  
    <SCRIPT language=JavaScript>    
    var   col   =   new   Array();    
    col[15]   =   '#000000';    
    col[14]   =   '#111111';    
    col[13]   =   '#222222';    
    col[12]   =   '#333333';    
    col[11]   =   '#444444';    
    col[10]   =   '#555555';    
    col[9]   =    '#666666';    
    col[8]   =    '#777777';    
    col[7]   =    '#888888';    
    col[6]   =    '#999999';    
    col[5]   =    '#AAAAAA';    
    col[4]   =    '#BBBBBB';    
    col[3]   =    '#CCCCCC';    
    col[2]   =    '#DDDDDD';    
    col[1]   =    '#EEEEEE';    
    col[0]   =    '#FFFFFF';    
    var i = col.length;
    var isOut = true; 
    function Over() 

    if (i>=0 && isOut) {i--;td.style.color=col[i];} 
    else if(i<= col.length && !isOut){i++;td.style.color=col[i]; } 
    else{isOut = !isOut;} 
    setTimeout('Over()',100);//渐变 
    }   
      
    </SCRIPT>    
      
      
    <TABLE><TBODY><TR><TD id=td onmouseover=Over()>鼠标放上看效果</TD></TR></TBODY></TABLE> 
      

  3.   

    avon520 的意思是用候选色吗,但是如果万一需要的颜色数大于候选的数量就比较麻烦了……
    fengyun817 的意思也正是我想的,但是不知该如何变化,变化R? G? or B?
    s_liangchao1s 的意思我不太明白。