我正在尝试将小方形 div 的网格更改为随机背景颜色。 据我所知,我的语法是正确的,控制台没有抛出任何错误,但 .css() 似乎不接受我的 genColor 方法。
我发现 this 非常相似,但提供的解决方案似乎不起作用。
function genColor() {
'use strict';
var hexes = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++){
color += hexes[Math.floor(Math.random * 16)];
}//end for loop
return color;
这里用到了
function highlightSquare() {
'use strict';
$('.square').on('mouseenter', function () {
$(this).css('background', genColor());
});
请帮助我弄清楚为什么这行不通,但示例显示它应该行得通。
附言'使用严格';防止 Brackets 编辑器 JSLint 对我大喊大叫。据我所知,它不会影响上面的代码。
最佳答案
看起来问题出在 Math.random
上,它是一个函数,所以它应该是 Math.random()
。另外,从您的代码中不确定,但是应该在函数外部分配事件监听器。
function genColor() {
'use strict';
var hexes = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++){
color += hexes[Math.floor(Math.random() * 16)];
}//end for loop
return color;
}
$('.square').on('mouseenter', function () {
$(this).css('background', genColor());
});
这是一个工作演示:https://jsfiddle.net/fb15L86u/
关于javascript - jQuery .CSS 不更新背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36438510/