2

我的要求是我必须用 3 种颜色动态设置 div 的样式。我已经用随机颜色应用了这个代码

function randomColors() {

var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 4; i++ ) {
    color += letters[Math.round(Math.random() * 15)];
}
return color;

}

我只需要重复 3 种颜色,这将动态循环!我怎样才能做到这一点?

我只想要动态设置这 3 种颜色#09c5f9、#05f6d5、#a42cff。

for(i=1; i <= pmap; i++){
      $("#thumbnail"+i).css("background-color",randomColors());
}
4

2 回答 2

2

我可以想到两种方法来做到这一点。

1)如果您使用 jQuery(并且在我看来正确的方法),最简单的方法是声明三个类并使用 jQuery 交换它们。

CSS:

.teal{
    background-color: #09c5f9;
}
.emerald{
    background-color: #05f6d5;
}
.purple{
    background-color: #a42cff;
}

和javascript:

$("#some-element").removeClass("teal emerald").addClass("purple");
$("#some-element").removeClass("teal purple").addClass("emerald");
$("#some-element").removeClass("purple emerald").addClass("teal");

2) 这种方式使用了裸机 JS,并且还使用了您在原始帖子中使用的相同编程风格。

var colors = ["#09c5f9", "#05f6d5", "#a42cff"];

function getColor(colorNumber){
    return colors[colorNumber];
}

希望这可以帮助。

于 2013-09-10T06:29:01.947 回答
0
function randomColors() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 3; i++ ) {
    color += letters[Math.round(Math.random() * 15)];
}
return color;
}

可以看Demo,其中div的背景色会随机设置。

演示

你可以从那里得到提示。

于 2013-09-10T05:14:10.350 回答