搜尋

首頁  >  問答  >  主體

如何使用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粉585541766465 天前597

全部回覆(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
  • 取消回覆