我在一个表中有一系列值,我想用3乘3将它们分隔开,以将它们用作RGB值。
我试过这样的东西:
var color = [143,204,211,25,35,59,204,219,209,128,135,124,38,139,216,84,106,105,205,87,114,165,175,88];
var cList = $('ul.color_palette');
$.each(color, function(i)
{
var li = $('<li/>')
.addClass('color'+ i)
.css('background-color', 'rgb(' + color[i] + ')')
.appendTo(cList);
});
我希望它看起来像这样:
<ul class="color_palette">
<li class="color0" style="background-color: rgb(143, 204, 211);"></li>
<li class="color1" style="background-color: rgb(25, 35, 59);"></li>
<li class="color2" style="background-color: rgb(204, 219, 209);"></li>
<li class="color3" style="background-color: rgb(128, 135, 124);"></li>
<li class="color4" style="background-color: rgb(38, 139, 216);"></li>
<li class="color5" style="background-color: rgb(84, 106, 105);"></li>
<li class="color6" style="background-color: rgb(205, 87, 114);"></li>
<li class="color7" style="background-color: rgb(165, 174, 88);"></li>
</ul>
你能帮我吗?
这实际上只是对颜色数组进行分块练习,以生成三个值的集群,然后可以在现有代码的迭代中使用。
将此答案修改为其他问题的解决方案(https://stackoverflow.com/a/8495740/5867572-@Blazemonger(
var color = [143,204,211,25,35,59,204,219,209,128,135,124,38,139,216,84,106,105,205,87,114,165,175,88];
var rgbValues = [];
for (i = 0; i < color.length; i += 3) {
rgbValues.push(color.slice(i, i + 3).join(', '));
}
console.log(rgbValues);
// gives [
// "143, 204, 211",
// "25, 35, 59",
// "204, 219, 209",
// "128, 135, 124",
// "38, 139, 216",
// "84, 106, 105",
// "205, 87, 114",
// "165, 175, 88"
//]