鑑於此功能,我想更換一個隨機顏色生成的顏色 。 css
document.overlay = GPolyline.fromEncoded({ color: "#0000FF", weight: 10, points: encoded_points, zoomFactor: 32, levels: encoded_levels, numLevels: 4 });
我該怎麼作? html
我喜歡這個: '#' + (Math.random().toString(16) + "000000").substring(2,8)
jquery
個人版本: ajax
function RandomColor() { var hex = (Math.round(Math.random()*0xffffff)).toString(16); while (hex.length < 6) hex = "0" + hex; return hex; }
您能夠經過多種方式來完成此任務。 這是我作的一些事情: api
生成六個隨機十六進制數字(0-F) dom
function randColor() { for (var i=0, col=''; i<6; i++) { col += (Math.random()*16|0).toString(16); } return '#'+col; }
極短的單缸 ide
'#'+Math.random().toString(16).slice(-6)
生成單個RGB份量(00-FF) google
function randColor2() { var r = ('0'+(Math.random()*256|0).toString(16)).slice(-2), g = ('0'+(Math.random()*256|0).toString(16)).slice(-2), b = ('0'+(Math.random()*256|0).toString(16)).slice(-2); return '#' +r+g+b; }
過分設計的十六進制字符串(XOR 3一塊兒輸出以造成顏色) spa
function randColor3() { var str = Math.random().toString(16) + Math.random().toString(16), sg = str.replace(/0./g,'').match(/.{1,6}/g), col = parseInt(sg[0], 16) ^ parseInt(sg[1], 16) ^ parseInt(sg[2], 16); return '#' + ("000000" + col.toString(16)).slice(-6); }
使用Google搜索能夠很容易地找到它: 設計
function random_color(format) { var rint = Math.round(0xffffff * Math.random()); switch(format) { case 'hex': return ('#0' + rint.toString(16)).replace(/^#0([0-9a-f]{6})$/i, '#$1'); break; case 'rgb': return 'rgb(' + (rint >> 16) + ',' + (rint >> 8 & 255) + ',' + (rint & 255) + ')'; break; default: return rint; break; } }
更新後的版本:
function random_color( format ){ var rint = Math.floor( 0x100000000 * Math.random()); switch( format ){ case 'hex': return '#' + ('00000' + rint.toString(16)).slice(-6).toUpperCase(); case 'hexa': return '#' + ('0000000' + rint.toString(16)).slice(-8).toUpperCase(); case 'rgb': return 'rgb(' + (rint & 255) + ',' + (rint >> 8 & 255) + ',' + (rint >> 16 & 255) + ')'; case 'rgba': return 'rgba(' + (rint & 255) + ',' + (rint >> 8 & 255) + ',' + (rint >> 16 & 255) + ',' + (rint >> 24 & 255)/255 + ')'; default: return rint; } }
使用getRandomColor()
代替"#0000FF"
:
function getRandomColor() { var letters = '0123456789ABCDEF'; var color = '#'; for (var i = 0; i < 6; i++) { color += letters[Math.floor(Math.random() * 16)]; } return color; } function setRandomColor() { $("#colorpad").css("background-color", getRandomColor()); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="colorpad" style="width:300px;height:300px;background-color:#000"> </div> <button onclick="setRandomColor()">Random Color</button>