Javascript 从样式组中选择css样式
我正在为数据库中的每个条目生成DivJavascript 从样式组中选择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 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]);