首页  >  问答  >  正文

如何使用jQuery更改div的背景颜色? [已关闭]

我想使用jquery在运行时更改div的背景颜色。div正在显示,但它的背景颜色没有改变。我不知道我写的代码有什么问题。

<html>
    <head>
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    </head>
    <body>
        <div id="color" style="width:100px;height:100px;background-color:grey;">Hello, world!</div>
        <script>
            function change_color()
            {
                r = Math.floor(Math.random()*256);
                g = Math.floor(Math.random()*256);
                b = Math.floor(Math.random()*256);

                rgb_ = "rgb(" + r + ", " + g + ", " + b + ")";

                $("#color").css("background-color", rgb_);
            }

            setInterval(change_color, 1000);
        </script>
    </body>
</html>

我想要十进制的rgb值。

P粉585541766P粉585541766398 天前536

全部回复(1)我来回复

  • P粉854119263

    P粉8541192632023-09-17 20:45:11

    你需要使用Math.floor函数而不是floor(当前代码中未定义floor,这就是为什么你的r g b值无效的原因):

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <html>
    <head>
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    </head>
    <body>
        <div id="color" style="width:100px;height:100px;background-color:grey;">Hello, world!</div>
    
        <script>
            function change_color() {
                var r = Math.floor(Math.random() * 256);
                var g = Math.floor(Math.random() * 256);
                var b = Math.floor(Math.random() * 256);
                var rgb_ = "rgb(" + r + ", " + g + ", " + b + ")";
                $("#color").css("background-color", rgb_);
            }
    
            setInterval(change_color, 1000);
        </script>
    </body>
    </html>

    回复
    0
  • 取消回复