我正在进行颜色问答比赛。我想从JSON获得随机颜色+这个颜色名称。
我的JSON示例:
{
"color":"#72362a",
"name":"green",
"namePL":["zielony"]},
},
{
"color":"#7a3543",
"name":"yellow",
"namePL":["żółty"]},
}
];
如何从JSON中将身体背景设置为随机并获取使用颜色的名称?
找到随机颜色代码,但我想从JSON获得颜色。
RandomColor = function() {
colors = ['red', 'white', 'blue', 'green']
return colors[Math.floor(Math.random()*colors.length)];
}
我应该修改什么才能得到我想要的东西?
我想更改背景颜色并获取此颜色的名称:
$('#colorname').text(name);
答案 0 :(得分:1)
在随机颜色功能中,您可以用您的JSON数组替换数组['red','white'..]。现在,RandomColor对象将是一个JSON对象,您可以像访问任何JSON对象一样访问颜色和名称值。
RandomColor = function() {
colors = [{"color":"#72362a","name":"green","namePL":["zielony"]},{"color":"#7a3543", "name":"yellow", "namePL":["żółty"]}];
return colors[Math.floor(Math.random()*colors.length)];
}
现在您可以使用RandomColor.color和RandomColor.name来获取所需的值。
答案 1 :(得分:1)
尝试这样的事情:
var myJson = [{
"color":"#72362a",
"name":"green",
"namePL":["zielony"]},
{
"color":"#7a3543",
"name":"yellow",
"namePL":["żółty"]}, ] ;
var getColour;
$(function(){
getColour = function(){
var entry = myJson[Math.floor(Math.random()*myJson.length)];
return entry;
}
$("#getColour").click(function(){
var localObj = getColour();
$("#divTest").html("Color name: " + localObj.name);
$("#divTest").css('background-color', localObj.name );
});
});