在网上看了好多人写的随机生成颜色的方法,要么有错误,要么太复杂。
例如:
function color16(){//十六进制颜色随机
var r = Math.floor(Math.random()*256);
var g = Math.floor(Math.random()*256);
var b = Math.floor(Math.random()*256);
var color = '#'+r.toString(16)+g.toString(16)+b.toString(16);
return color;
}
这样生成的颜色,会有补0的错误。原因是 16以下的数字转成16进制时,都只有1位。并且,这里要执行三次随机数,从效率上看,也是比较逊色的。
推荐方法:
function color16(){//十六进制颜色随机
return '#'+Math.random().toString(16).substr(2, 6)
}
一次生成随机数,转成16进制,再截取小数点后6位。
非常简洁,非常的银杏化。