下面提供了三种获取随机颜色值的方法
方法一:
创建一个颜色 HEX 值数组,然后随机抽取这个数组里6个值,组合生成颜色。
function color1(){ var color = ""; var colors = [0,1,2,3,4,5,6,7,8,9,"a","b","c","d","e","f"]; for(var i=0;i<6;i++){ var n = Math.ceil(Math.random()*15); color += "" + colors[n]; if(i==5){ return "#"+color; } } }
简写:
function color4(){ return '#' + (function(color){ return (color += '0123456789abcdef'[Math.floor(Math.random()*16)]) && (color.length == 6) ? color : arguments.callee(color); })(''); }
方法二:
在0-16777215之间的生成一个随机数,然后转换为16进制,如果没有6位数就在前面加 0。
function color2(){ var color = Math.ceil(Math.random()*16777215).toString(16); while(color.length<6){ color = "0" + color; } return "#"+color; }
方法三:
这个和上面那个方法差不多,随机数转成16进制,和前面5个0的字符生成一个长字符串,再截取字符串最后6位字符。
function color3(){ return '#'+('00000'+(Math.random()*0x1000000<<0).toString(16)).substr(-6); }