تابع ایجاد کد رنگ تصادفی در جاوا اسکریپت
در پستهای قبلی تابع ایجاد کد رنگ تصادفی در پی اچ پی را معرفی کردیم. در این نوشته قصد داریم توابع مربوط به ایجاد کد رنگ تصادفی در جاوا اسکریپت را معرفی کنیم. چند تابع و تکه کد زیر رنگ های تصادفی را بصورت HEX در زبان جاوااسکریپت تولید می کنند. این رنگ ها با # شروع شده با سه مجموعه عدد در مبنا 16، رنگ را در سیستم RGB مشخص می کنند.
1-
function getRandomColor() { var letters = '0123456789ABCDEF'; var color = '#'; for (var i = 0; i < 6; i++) { color += letters[Math.floor(Math.random() * 16)]; } return color; } let color = getRandomColor();
2-
let color = "#" + ((1 << 24) * Math.random() | 0).toString(16);
3-
let color = '#' + Math.random().toString(16).substr(-6);
4-
function get_random_color() { function c() { var hex = Math.floor(Math.random() * 256).toString(16); return ("0" + String(hex)).substr(-2); // pad with zero } return "#" + c() + c() + c(); } let color = get_random_color();
5- چهار کد بالا، رنگها را بصورت HEX ایجاد میکنند. با استفاده از تابع کلی زیر میتوانید رنگهای تصادفی را بصورت RGB، RGBA، HEX، HEXA و HSL ایجاد کنید. کافیست نام حالت یا سیستمی که نیاز دارید را به تابع بدهید و رنگ تصادفی در آن ساختار دریافت کنید:
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 + ')'; case 'hsl': case 'hsla': return 'hsla(' + (Math.random() * 360) + ', 100%, 50%, 1)'; default: return rint; } } let color = random_color('hsla');