如何在点击jQuery时将段落的背景更改为随机颜色?

时间:2016-09-30 01:28:12

标签: jquery

每当您点击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>

提前致谢!

5 个答案:

答案 0 :(得分:1)

试试这个:

&#13;
&#13;
$(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;
&#13;
&#13;

答案 1 :(得分:1)

您试图将变量作为函数调用。相反,你应该把变量变成一个函数:

JS Fiddle

 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());
});

DEMO

答案 3 :(得分:1)

我在小提琴上查了一下。你还没有首先包含jquery文件。第二个'};'如果你看到,也是额外的。我添加了jquery并删除了};事情。它运作良好。

并且您的代码将提供随机颜色,但每种颜色都是相同的随机颜色。如果你想为每个盒子提供一个随机颜色,可以在你的p.click函数中放置var randomcolor的东西

答案 4 :(得分:0)

你错过'#'并且'randomColor'不是一个函数,如果你想要随机颜色,你应该在里面随机设置,如下所示:

        $('p').click(function() {
        var randomColor = Math.floor(Math.random()*16777215).toString(16);
        $(this).css('background-color','#'+randomColor);
    });