javascript - 来自数组的随机颜色

标签 javascript html random hex background-color

我正在寻找使用 JavaScript 构建的东西,它将从给定的十六进制颜色数组中选择一个随机值(背景颜色)并将其应用于给定的 div 元素。

有谁知道这样做的好方法吗?似乎没有什么对我有用,但我并不是一个真正精通 JS 的人。

最佳答案

这个怎么样?

var rgb = [];

for(var i = 0; i < 3; i++)
    rgb.push(Math.floor(Math.random() * 255));

myDiv.style.backgroundColor = 'rgb('+ rgb.join(',') +')';

如果你想将它限制为已知颜色,你可以创建一个颜色数组并像这样随机选择它。

var colors = ['red', 'green', 'blue', 'orange', 'yellow'];

myDiv.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];

JSFiddle

更新 - 使用第一种方法应用到所有.post-content

var divs = document.querySelectorAll('.post-content');

for(var i = 0; i < divs.length; i++)
    divs[i].style.backgroundColor = 'rgb('+ rgb.join(',') +')';

如果你想为每个 .post-content 单独应用随机背景,你可以这样做。

var divs = document.querySelectorAll('.post-content');

for(var i = 0; i < divs.length; i++) {
    var rgb = [];

    for(var i = 0; i < 3; i++)
        rgb.push(Math.floor(Math.random() * 255));

    divs[i].style.backgroundColor = 'rgb('+ rgb.join(',') +')';
}

上次更新 - 如您所述,使用 jQuery。

var colors = ['red', 'green', 'blue', 'orange', 'yellow'];

$('.post-content').each(function() {
    $(this).css('background-color', colors[Math.floor(Math.random() * colors.length)]);
});

关于javascript - 来自数组的随机颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14949011/

相关文章:

html - 这是一个合适的 div 布局吗?

ios - arc4random:限制生成的随机数的值

javascript - 如何从 Knockout Observable 中获取所选项目的文本?

javascript - Ember 1.13.1 vendor/ Assets 未加载

javascript - 如何设置动态创建的<audio>元素的默认下载文件名?

jQuery:加载外部 HTML 内容;访问插入的元素失败

Java hashmap 选择随机但偶然

python - 高效地在Python中随机列出数百万个元素

javascript - 通过 Canvas 上的引用变量单击函数可能吗?

javascript - 为什么我在 Javascript 中实现寄生继承的努力在这里失败了?