有时会遇到需要随机生成颜色的需求,可以使用下面的JS代码来实现。
分为两种,一种是 rgb()
,一种是16进制。
<script>
function rgb(){//rgb颜色随机
var r = Math.floor(Math.random()*256);
var g = Math.floor(Math.random()*256);
var b = Math.floor(Math.random()*256);
var rgb = 'rgb('+r+','+g+','+b+')';
return rgb;
}
</script>
<script>
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);
var color = '#'+(Array(6).join(0) + (r.toString(16)+g.toString(16)+b.toString(16))).slice(-6);
return color;
}
</script>
这地多谢网友提醒,因为评论显示是访客,暂时不知道怎么称呼,原始的方法会出现16进制不足6位,无法显示颜色的问题,需要使用“前补0”的的方法补齐6位,这样就可以正常显示了。
前补0具体方法实现:JS实现16进制颜色、数字前自动补0
声明:本文由w3h5原创,转载请注明出处:《JS生成随机颜色的简单方式,16进制自动补0》 https://cloud.tencent.com/developer/article/1537818