Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从样式组中选择css样式_Javascript_Html_Sass_Less - Fatal编程技术网

Javascript 从样式组中选择css样式

Javascript 从样式组中选择css样式,javascript,html,sass,less,Javascript,Html,Sass,Less,我正在为数据库中的每个条目生成Div <div class='db-green'>Sample Code</div> <div class='db-blue'>Sample Code</div> <div class='db-blue'>Sample Code</div> <div class='db-yellow'>Sample Code</div> 我想要的是通过在数组中定义颜色来随机选择Div

我正在为数据库中的每个条目生成Div

<div class='db-green'>Sample Code</div>
<div class='db-blue'>Sample Code</div>
<div class='db-blue'>Sample Code</div>
<div class='db-yellow'>Sample Code</div>
我想要的是通过在数组中定义颜色来随机选择Div类中的颜色


我希望能找到一个使用更少或sass的解决方案,还是应该使用JS?

您可以使用JavaScript函数生成随机颜色:

function getColor() {
    var r = Math.floor(Math.random() * 256);
    var g = Math.floor(Math.random() * 256);
    var b = Math.floor(Math.random() * 256);

    return "#"+ r.toString(16) + g.toString(16) + b.toString(16) ;
}
然后使用JS DOM或JQuery更改每个div的CSS背景颜色属性:


希望每个类都有不同的颜色。

有一个类似于您所说的问题的解决方案:

可以使用jQuery为随机div元素定义颜色:

var divs = ['.db-green', '.db-blue', '.db-yellow']; // possible divs
var color = ["blue", "yellow", "red"]; // potential colors
var random = Math.floor(Math.random() * divs.length);
var entry = divs[random];
$(entry).css("color", color[0]);

我想我不明白这个问题。您需要随机选择一种颜色并将其与元素关联?您正在寻找类似的颜色吗?Sass和LESS都是CSS预处理器。是的,类似的东西。这更像是我定义了3个类,db green,db blue,db yellow。子样式是相对于这些类进行的。所以我想随机选择这三个类中的任何一个?我想看看我是否能用更少的或是粗鲁的话来做这件事?你真的希望它是随机的吗?假设你想使用一个很好的预定义颜色数组,我会这样做。我用PHP做的,我希望用Sass或更少的语言。但这就是我的想法。谢谢你,我以为你想在客户端做点什么。您可以使用backticks将JavaScript插入更少的内存中。调用此mixin:.generateColor{@color:color`+Math.random*0xFFFFFF
.generateColor() { 
    @color: color(`"#" + (Math.random()*0xFFFFFF<<0).toString(16)`);
}
.db-color-1 {
    .generateColor();
    background-color: @color;
}

.db-color-2 {
    .generateColor();
    background-color: @color;
}

.db-color-3 {
    .generateColor();
    background-color: @color;
}
var divs = ['.db-green', '.db-blue', '.db-yellow']; // possible divs
var color = ["blue", "yellow", "red"]; // potential colors
var random = Math.floor(Math.random() * divs.length);
var entry = divs[random];
$(entry).css("color", color[0]);