我想使用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值。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你需要使用
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>