每当您点击3个段落中的一个时,我想更改背景颜色。我使用了随机颜色生成器函数,并使用jQuery更改了单击时段落的背景颜色。但是,我不确定我现在做错了什么。
这是我的傻瓜:https://jsfiddle.net/vo7rs09g/
p {
width:400px;
height:300px;
background-color:blue;
}
<script>
var randomColor = Math.floor(Math.random()*16777215).toString(16);
$('p').click(function() {
$(this).css('background-color',randomColor());
});
};
<p></p>
<p></p>
<p></p>
提前致谢!
答案 0 :(得分:1)
试试这个:
$(document).ready(function() {
$('p').click(function() {
$(this).css('background-color',"#"+randomColor());
})
function randomColor() {
return Math.floor(Math.random()*16777215).toString(16);
}
})
&#13;
p {
width:400px;
height:300px;
background-color:blue;
}
&#13;
<p></p>
<p></p>
<p></p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
&#13;
答案 1 :(得分:1)
您试图将变量作为函数调用。相反,你应该把变量变成一个函数:
Button button = new Button("Some text");
button.setFont(new Font(26));//you can play more with it creating custom fonts
另外,在你原来的JS Fiddle中你没有加载jquery,最后你有一个额外的// This should be a function (not var)
function randomColor() {
return Math.floor(Math.random() * 16777215).toString(16);
}
// When you call the function, it returns the 6 digit value, but it needs a "#" in front for it to be a color value. Be sure to attach that
$('p').click(function() {
$(this).css('background-color', "#" + randomColor());
});
导致语法错误。
答案 2 :(得分:1)
你可以使用RGB只是从0到255的随机3个数字 说明:0 =(黑色),255 =(白色)
var randomColor = function() {
var color = "RGB("+Math.floor(Math.random()*256) + ", ";
color += Math.floor(Math.random()*256) + ", ";
color += Math.floor(Math.random()*256) + ")";
return color;
}
$('p').click(function() {
$(this).css('background-color',randomColor());
});
答案 3 :(得分:1)
并且您的代码将提供随机颜色,但每种颜色都是相同的随机颜色。如果你想为每个盒子提供一个随机颜色,可以在你的p.click函数中放置var randomcolor的东西
答案 4 :(得分:0)
你错过'#'并且'randomColor'不是一个函数,如果你想要随机颜色,你应该在里面随机设置,如下所示:
$('p').click(function() {
var randomColor = Math.floor(Math.random()*16777215).toString(16);
$(this).css('background-color','#'+randomColor);
});