javascript - 尝试在文档就绪中生成随机背景颜色

标签 javascript jquery css html codepen

我试图在每次加载时以及每次按下“新报价” 按钮时将我的网络应用程序的背景设置为随机颜色。我用来生成随机背景颜色的函数是 random_bg_color()

我在 $(document).ready(function(){}) 中调用了它。我正在使用 codepen.io 创建这个网络应用程序。我的网络应用程序的链接是 here .目前,该页面仅加载“白色”作为背景色。感谢任何有关如何解决此问题的反馈!

    <!DOCTYPE html>
    <html lang="en" >
      <head>
        <meta charset="UTF-8">
        <link rel="shortcut icon" type="image/x-icon" href="https://static.codepen.io/assets/favicon/favicon-8ea04875e70c4b0bb41da869e81236e54394d63638a1ef12fa558a4a835f1164.ico" />
        <link rel="mask-icon" type="" href="https://static.codepen.io/assets/favicon/logo-pin-f2d2b6d2c61838f7e76325261b7195c27224080bc099486ddd6dccb469b8e8e6.svg" color="#111" />
        <title>CodePen - Random Quote Getter</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.css'>
        <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css'>

        <style>
          #new-quote-btn {

          }
        </style>
      </head>

      <body translate="no" >
        <div class='container-fluid'>
          <button id='new-quote-btn'>New Quote</button>
        </div>

        <script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/fontawesome-iconpicker/3.0.0/js/fontawesome-iconpicker.js'></script>
        <script>
          $(document).ready(function() {
            random_bg_color();
            document.getElementById("#new-quote-btn").addEventListener("click", random_bg_color);
          });

          function random_bg_color() {
            var x = Math.floor(Math.random() * 256);
            var y = Math.floor(Math.random() * 256);
            var z = Math.floor(Math.random() * 256);
            var bgColor = "rgb(" + x + "," + y + "," + z + ")";
            console.log(bgColor);
            document.body.style.background = bgColor;
          }
        </script>
      </body>
    </html>

最佳答案

如前所述,您需要添加指向 JQuery 的链接,并且您的 getElementById 选择器不正确,因此不会添加任何事件监听器。删除 # 它将起作用 -

document.getElementById("new-quote-btn").addEventListener("click", random_bg_color);

由于您使用的是 JQuery,因此您可以使用此代码附加事件监听器 -

$("#new-quote-btn").on("click", function() {
    random_bg_color();
});

关于javascript - 尝试在文档就绪中生成随机背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50248450/

相关文章:

javascript - 在 jQuery 提供的 CSS 样式之间切换?

javascript - 当用户选择它并在悬停时更改背景颜色时,JQuery 突出显示带有图像的菜单项

javascript - 跨域转化跟踪 - 自定义与 GA?

javascript - 避免对 HTML DOM 的所有内容进行 GET

javascript - setInterval 和 clearInterval 不起作用

javascript - Protractor ,失败 : unknown error: cannot focus element on custom input field

javascript - 带暂停的jquery自动滚动网站

javascript - 我从 .val()-function 得到空字符串 '' 或 'undefined'

html - slider 裁剪图像而不是调整图像大小

php - 消除表数据之间的空间