我正在尝试使用数组中的随机颜色更改元素的背景颜色。有代码:
$(document).ready(function(){
var randomColors = ['#00eeff','#fcff00','#9600ff'];
var rndNum = Math.floor(Math.random() * randomColors.length);
$("div.anyclass").hover(
function() {
$(this).css({'background-color' : 'randomColors[rndNum]'})
},
function() {
$(this).css({'background-color' : '#fff'});
});
});
所以,它不起作用,问题出在哪里?
答案 0 :(得分:2)
您需要从'randomColors[rndNum]'
删除引号,否则它会变成一个字符串:
$(this).css({'background-color': randomColors[rndNum]})
OR
$(this).css({backgroundColor: randomColors[rndNum]})
答案 1 :(得分:1)
您只需要删除引号,如下所示:
$("div.anyclass").hover(function() {
$(this).css({'background-color' : randomColors[rndNum]})
}, function() {
$(this).css({'background-color' : '#fff'});
});
目前,它正在尝试将字符串设置为完全 'randomColors[rndNum]'
,而不是数组中该条目的值,例如'#00eeff'
。
答案 2 :(得分:1)
更改此行:
$(this).css({'background-color' : 'randomColors[rndNum]'})
到此:
$(this).css({'background-color' : randomColors[rndNum]})
如果变量在字符串中,则不会展开。