悬停时的背景颜色不变
问题描述:
我试图使用数组中的随机颜色更改元素的背景颜色。有代码:悬停时的背景颜色不变
$(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'});
});
});
所以,它不工作,问题在哪里?
答
你只需要删除引号,像这样:
$("div.anyclass").hover(function() {
$(this).css({'background-color' : randomColors[rndNum]})
}, function() {
$(this).css({'background-color' : '#fff'});
});
目前,它正试图设置字符串作为正是'randomColors[rndNum]'
,而不是数组中条目的值,例如'#00eeff'
。
答
改变这一行:
$(this).css({'background-color' : 'randomColors[rndNum]'})
这样:
$(this).css({'background-color' : randomColors[rndNum]})
变量不会,如果它是一个字符串中扩展。
答
您需要从'randomColors[rndNum]'
删除引号,否则就变成了纯粹的字符串:
$(this).css({'background-color': randomColors[rndNum]})
OR
$(this).css({backgroundColor: randomColors[rndNum]})