我希望创建一个Jquery脚本,它将从10的列表中随机选择一种颜色,然后将其作为背景颜色应用于一个div,以及h1标记的颜色。
到目前为止,我有一个随机颜色:
$(document).ready(function() { var hue = 'rgb(' + (Math.floor((256-199)*Math.random()) + 200) + ','
+ (Math.floor((256-199)*Math.random()) + 200) + ','
+ (Math.floor((256-199)*Math.random()) + 200) + ')';
$('#controls-wrapper').css("background-color", hue);
$('h1').css("color", hue);});
但是如何从10种颜色的列表中随机选择? 我找到了这个,但不知道如何将它应用于bg color div和h1标签。
$("#controls-wrapper").each(function(){
var colors = ["#CCCCCC","#333333","#990099"];
var rand = Math.floor(Math.random()*colors.length);
$(this).css("background-color", colors[rand]);});
答案 0 :(得分:14)
我认为你要完成的是:
假设你有一个这样的HTML页面:
<html>
<body>
<h1>Hello World!</h1>
<div id="controls-wrapper>some text</div>
</body>
$(document).ready(function(){
var colors = ["#CCCCCC","#333333","#990099"];
var rand = Math.floor(Math.random()*colors.length);
$('#controls-wrapper').css("background-color", colors[rand]);
$('h1').css("color", colors[rand]);
});
创建颜色数组后,您将得到一个与颜色索引相对应的随机数。
现在您有一个随机索引,您可以使用它来设置对象的背景颜色或文本颜色。
如果您希望颜色各不相同,那么您只需调用
rand = Math.floor(Math.random()*colors.length);
在设置下一个元素的颜色之前再次。
最后通过调用$('h1').css("color", colors[rand]);
,您将在页面上的所有H1元素上设置颜色,您希望它在H1上特定设置ID或类值,然后使用$('h1.myclass').css("color", colors[rand]);
OR { {1}}
答案 1 :(得分:1)
可能这可以帮助:
Changing colors of a DIV
以下是我使用的方法概述的代码的JS!
JS:
setInterval(function () {
document.getElementById("fancy").style.background= '#'+Math.floor(Math.random()*16777215).toString(16);
document.body.style.background= '#'+Math.floor(Math.random()*16777215).toString(16);
}, 1000);
虽然这篇文章有点旧,但在这个问题的背景下可能有一些用处!!
答案 2 :(得分:0)
.random-color {
display: block;
margin-bottom: 10px;
width: 150px;
color:#CC00CC;
}
<a class="random-color" href="#">
Link 1
</a>
<a class="random-color" href="#">
Link 2
</a>
<a class="random-color" href="#">
Link 3
</a>
<a class="random-color" href="#">
Link 4
</a>
<a class="random-color" href="#">
Link 5
</a>
var randomLinks = $('a.random-color');
var original = randomLinks.css('color');
var colors = ["#CCCCCC","#333333","#990099", "#1295A6", "#FFFF99"];
randomLinks.hover(function() { //mouseover
var col = Math.floor(Math.random()*colors.length);
$(this).css('color',colors[col]);
$(this).animate({
'paddingLeft': '20px'
}, 1000);
}, function() { //mouseout
$(this).css('color',original);
$(this).animate({
'paddingLeft': '0'
}, 500);
});
尝试此操作
答案 3 :(得分:0)
var array = ["orange", "blue", "black", "yellow", "green"];
var colorNumber = Math.round((Math.random() * (array.length - 1)));
$("body").css('background-color', array[colorNumber]);